1. Event Listener
1) Anonymous Inner Class
가장 일반적이고 심플한 방식의 Event 처리 방식이다. 보통 다음의 로직을 쓴다. 1회용 클래스를 넘겨준다.
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Pressed btn", 0).show();
}
});
(MainActivity.this 는 MainActivity 객체를 강제로 가리키게 하는 익명 내부 클래스 코딩 방식이다)
2) NewClass implement Interface
그렇지 않고 Interface인 View.OnClickListener 을 구현하는 방식이 있다. 아래 처럼 클래스를 하나 만든다.
class MyClass implements View.OnClickListener {
public void onClick(View v) {
Toast.makeText(v.getContext(), "Pressed btn1", 0).show();
}
}
그리고 리스너를 MyClass로 넘겨준다.
btn1.setOnClickListener(new MyClass());
3) Activity implement Interface
액티비티 자체에서 리스너를 구현하는 방식이다. 다음과 같이 액티비티에서 리스너를 구현한다.
public class MainActivity extends Activity implements View.OnClickListener {
...
public void onClick(View v) {
Toast.makeText(v.getContext(), "Pressed btn1", 0).show();
}
...
}
그리고 사용할 때는 요렇게만 적어주면 된다.
btn1.setOnClickListener(this);
2. Event Handler
댓글 없음:
댓글 쓰기