Насколько я понимаю, когда я создаю объект кнопки, который прослушивает щелчок, я должен:
- Создать объект кнопки
- Используйте
OnClickListner
чтобы заставить его слушать щелчок пользователя - Используйте
onClick
для выполнения действий после того, как пользователь нажимает кнопку
Сейчас,
- Где
setOnClickListener
вписывается в вышеуказанную логику? - Кто на самом деле слушает нажатие кнопки?
-
setOnClickListener
? -
OnClickListener
? -
View.OnClickListener
? - Каковы различия между этими тремя?
Вот что я нашел в Android Dev:
//The example below shows how to register an on-click listener for a Button.
// Create an anonymous implementation of OnClickListener
private OnClickListener mCorkyListener = new OnClickListener() {
public void onClick(View v) {
// do something when the button is clicked
}
};
protected void onCreate(Bundle savedValues) {
...
// Capture our button from layout
Button button = (Button)findViewById(R.id.corky);
// Register the onClick listener with the implementation above
button.setOnClickListener(mCorkyListener);
...
}
Вам также может быть удобнее реализовать OnClickListener
как часть вашей Activity
. Это позволит избежать дополнительной нагрузки на класс и распределения объектов. Например:
public class ExampleActivity extends Activity implements OnClickListener {
protected void onCreate(Bundle savedValues) {
...
Button button = (Button)findViewById(R.id.corky);
button.setOnClickListener(this);
}
// Implement the OnClickListener callback
public void onClick(View v) {
// do something when the button is clicked
}
}