상세 컨텐츠

본문 제목

[안드로이드 코틀린] OnClickListener onClick 하나로 다중 버튼 이벤트 설정하기

안드로이드

by aries574 2022. 7. 17. 10:05

본문


이번 시간에는 onClick 이벤트가 여러 개 있을 때 한 곳에서 쉽게 관리할 수 있는 방법을 알아보겠습니다.


목차

1. 실행 화면
2. 메인 화면 구현 activity_main.xml
3. 메인 코드 구현 MainActivity.kt


1. 실행 화면

 


2. 메인 화면 구현 activity_main.xml

- 설명 -

누르면 메시지를 보여주는 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>

 


3. 메인 코드 구현 MainActivity.kt

- 설명 -

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)로 데이터 보내는 방법

 

[안드로이드 코틀린] 액티비티(Activity)에서 프래그먼트(Fragment)로 데이터 보내는 방법

이번 시간에는 액티비티(Activity) 화면에서 프래그먼트(Fragment) 화면으로 데이터를 전달하는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 프래그먼트 만들기 MainFragment.kt 3. 메인 화면 구현 

aries574.tistory.com

2022.07.16 - [안드로이드] - [안드로이드 코틀린] 프래그먼트(Fragment)에서 액티비티(Activity)로 데이터 보내는 방법

 

[안드로이드 코틀린] 프래그먼트(Fragment)에서 액티비티(Activity)로 데이터 보내는 방법

이번 시간에는 프래그먼트(Fragment)에서 액티비티(Activity)로 데이터를 전달하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 인터페이스 만들기 SendEventListener.kt 3. 프래그먼트 만들기

aries574.tistory.com

2022.07.11 - [안드로이드] - [안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법

 

[안드로이드 코틀린] 스피너(spinner) 드롭다운 사용방법

이번 시간에는 여러 개의 아이템 중 하나를 선택하는 스피너(Spinner)에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행..

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역