根据我的理解,当我创建一个监听点击事件的按钮对象时,需要执行以下操作:
- 创建按钮对象
- 使用
OnClickListner
使其监听用户的点击 - 使用
onClick
在用户点击按钮后执行操作
现在,
setOnClickListener
在上述逻辑中扮演什么角色?- 哪个方法实际上监听按钮的点击事件?
setOnClickListener
?OnClickListener
?View.OnClickListener
?- 这三者有什么区别?
以下是我在Android开发文档中找到的内容:
//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
}
}