이번 시간에는 onClick 이벤트가 여러 개 있을 때 한 곳에서 쉽게 관리할 수 있는 방법을 알아보겠습니다.
- 설명 -
누르면 메시지를 보여주는 Button
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼1"
android:textSize="20sp"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼2"
android:textSize="20sp"
android:layout_below="@id/btn1"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼3"
android:textSize="20sp"
android:layout_below="@id/btn2"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
- 설명 -
1. View.OnClickListener
View의 OnClickListener를 상속받아 클릭 이벤트를 재정의 합니다.
2. override fun onClick(view: View?)
파라미터 view를 통해 버튼의 아이디를 가져와 각 버튼마다 기능을 구현할 수 있습니다.
class MainActivity : AppCompatActivity(), View.OnClickListener{
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//객체 생성
val btn1: Button = findViewById(R.id.btn1)
val btn2: Button = findViewById(R.id.btn2)
val btn3: Button = findViewById(R.id.btn3)
btn1.setOnClickListener(this)
btn2.setOnClickListener(this)
btn3.setOnClickListener(this)
}//onCreate
//클릭 이벤트 재정의
override fun onClick(view: View?) {
if(view != null){
//버튼 id에 따라 알림 메시지를 띄어줌
when(view.id){
R.id.btn1 -> Toast.makeText(this, "버튼1", Toast.LENGTH_SHORT).show()
R.id.btn2 -> Toast.makeText(this, "버튼2", Toast.LENGTH_SHORT).show()
R.id.btn3 -> Toast.makeText(this, "버튼3", Toast.LENGTH_SHORT).show()
}
}
}
}
2022.07.15 - [안드로이드] - [안드로이드 코틀린] 액티비티(Activity)에서 프래그먼트(Fragment)로 데이터 보내는 방법
2022.07.16 - [안드로이드] - [안드로이드 코틀린] 프래그먼트(Fragment)에서 액티비티(Activity)로 데이터 보내는 방법
2022.07.11 - [안드로이드] - [안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법
[안드로이드 코틀린] 텍스트(EditText) 입력 체크 및 버튼(Button) 활성화 (0) | 2022.07.19 |
---|---|
[안드로이드 코틀린] 포커스 이벤트 숫자(천 단위) 콤마 넣는 방법 (0) | 2022.07.18 |
[안드로이드 코틀린] 프래그먼트(Fragment)에서 액티비티(Activity)로 데이터 보내는 방법 (0) | 2022.07.16 |
[안드로이드 코틀린] 액티비티(Activity)에서 프래그먼트(Fragment)로 데이터 보내는 방법 (0) | 2022.07.15 |
[안드로이드 코틀린] Custom Spinner 쉽게 만드는 방법 part2 (0) | 2022.07.14 |
댓글 영역