앞의 예에서 간단한에서 본 이벤트 모델은 매우 강력하고 유연하다. 임의의 수의 이벤트 수신기 객체는 모든 수의 이벤트 소스 객체에서 모든 종류의 이벤트를 수신 할 수 있습니다. 예를 들어, 프로그램은 이벤트 소스마다 하나의 리스너를 작성할 수 있습니다. 또는 프로그램은 모든 소스의 모든 이벤트에 대해 단일 리스너를 가질 수 있습니다. 프로그램은 단일 이벤트 소스에서 단일 종류의 이벤트에 대해 둘 이상의 리스너를 가질 수도 있습니다.
Java에는 이벤트 목록을위한 세 가지 메커니즘이 있습니다. 익명으로
1.
안드로이드 개발자가 종종 이벤트가 발생할 때 특정 동작에 대한 콜백을 등록 전문 청취자를 정의하는 익명의 내부 클래스를 사용 claases. 예를 들어 View 컨트롤에서 클릭을 수신하려면 개발자가 단일 매개 변수 인 View.OnClickListener 객체를 사용하는 setOnClickListener() 메서드를 호출해야합니다. 온 클릭 리스너
Button aButton = (Button) findViewById(R.id.MyButton);
aButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// User clicked my button, do something here!
}
});
2. 별도의 클래스를 다음과 같이 개발자는 정기적으로, 생성, 정의와 그 정의 View.OnClickListener를 사용하는 익명의 내부 클래스 기술을 사용합니다.
class MyActivity extends Activity {
public void myMethod() {
MyClickHandler handler = new MyClickHandler();
Button[] buttons = getAllOneHundredButtonsAsArray();
for (Button button : buttons) {
button.setOnClickListener(handler);
}
}
class MyClickHandler implements View.OnClickListener {
public void onClick(View v) {
showToast(((Button) v).getText());
}
}
}
위의 코드에서
덕분에 .. – KingKonApp