Android - setOnClickListener против OnClickListener против View.OnClickListener
Насколько я понимаю, когда я создаю объект кнопки, который прослушивает щелчок, я должен:
Создать объект кнопкииспользование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
}
}