728x90
반응형
안드로이드(Android) 내부 클래스(Inner class)를 이용한 이벤트 처리
안드로이드에서 이벤트를 처리하는 방법에는 다양하게 있습니다.
이번 포스팅은 내부 클래스를 이용한 이벤트 처리 방법에 대해서 알아보겠습니다.
레이아웃은 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼"
android:padding="10dp" />
</LinearLayout>
다음은 MainActivity.java의 소스코드입니다.
package com.example.buttonevent1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
/* 내부 클래스
* MainActivity 클래스 안에 MyListenerClass라는 이름의 내부 클래스를 정의한다.
* 이 클래스는 OnClickListener 인터페이스를 구현하는 클래스로서 클릭 이벤트가 발생하면
* 호출되는 onClick()만을 가지고 있다.
* 사용자가 화면을 클릭하면 토스트(toast) 메시지 기능을 이용하여서
* 화면 하단에 메시지를 표시한다.
* */
class MyListenerClass implements View.OnClickListener {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "안녕하세요. 내부 클래스입니다."
, Toast.LENGTH_LONG).show();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 레이아웃에 작성된 버튼 객체를 찾는다.
Button button = (Button) findViewById(R.id.button);
/*
* 버튼에서 발생하는 클릭 이벤트를 처리할 객체를 생성한다.
* setOnClickListener()를 이용하여 이 객체를 버튼의 클릭 리스너로
* 등록하여 주면 된다. 만약 버튼이 클릭되면 클릭 리스너가 가지고 있는
* onClick() 메소드가 호출된다.
* */
MyListenerClass buttonListener = new MyListenerClass();
button.setOnClickListener(buttonListener);
}
}
728x90
반응형
'APP' 카테고리의 다른 글
안드로이드(Android) 액티비티에 이벤트처리 인터페이스를 구현하는 방법 (0) | 2020.04.23 |
---|---|
안드로이드(Android) 무명클래스로 이벤트 처리하기 (0) | 2020.04.23 |
안드로이드(Android) onClick 이벤트 처리의 가장 간단한 방법 (0) | 2020.04.23 |
안드로이드(Android) 선형레이아웃(LinearLayout) 이중배치, 테이블레이아웃처럼 사용하기 (0) | 2020.04.23 |
안드로이드 스튜디오(Android Studio) SDK Manager 찾기, SDK 설치하기 (1) | 2020.04.01 |