post list

2015년 8월 12일

[Android] UI Event Handling

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

댓글 없음:

댓글 쓰기