【发布时间】:2015-04-06 21:03:36
【问题描述】:
我的理解是,当我创建一个监听点击的按钮对象时,我必须:
- 创建按钮对象
- 使用
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
}
}
【问题讨论】: