ImageView와 Button을 생성 후 버튼을 클릭했을 때 토스트 메시지 띄우기!!
* activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/iv_profile"
android:layout_width="wrap_content"
android:layout_height="300dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/pink" />
<Button
android:id="@+id/btn_toast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-100dp"
android:text="토스트메세지"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/iv_profile" />
</androidx.constraintlayout.widget.ConstraintLayout>
* MainActivity.kt
package com.eve.imageviewkt
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import com.eve.imageviewkt.databinding.ActivityMainBinding
private lateinit var binding: ActivityMainBinding
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
var view = binding.root
setContentView(view)
binding.btnToast.setOnClickListener {
Toast.makeText(this, "버튼이 클릭되었습니다.", Toast.LENGTH_LONG).show()
}
}
}
그런데 버튼을 눌러도 아무런 반응이 없다.
makeText()에 대한 객체에 show() 메서드를 호출했는데?
앱에 대한 알림을 설정에서 끄지도 않았는데?
혹시나 ImageView가 너무 커서 토스트 메시지가 뜨는데 가려지나싶어서 크기를 조절했는데도 보이지 않았다.
.
.
.
결국 해결함
My Device 클릭 후 Wipe Data 클릭하면 된다.
에뮬레이터가 실행되어 있는 경우에 아래와 같은 알람창이 뜬다.
에뮬레이터를 끄고 다시 Wipe Data를 클릭하면
user file들을 지우겠냐는 알림창이 뜬다. Yes를 눌러 지운다.
그리고 다시 에뮬레이터를 재실행하면 토스트 메시지가 정상적으로 표시된다.
반응형
'앱 개발' 카테고리의 다른 글
[firebase] While trying to resolve module idb from file.. Indeed, none of these files exist: 500 에러 (expo) (0) | 2022.05.23 |
---|---|
[react-native] TouchableOpacity안에 Text 가운데 정렬하기 (0) | 2022.05.09 |
[내일배움단] 앱개발 종합반 1주차 개발일지 (0) | 2022.05.04 |
[android] kotlin button background 색상 변경 (1) | 2022.01.07 |
[android] view binding 뷰바인딩/뷰결합 (0) | 2022.01.05 |
댓글