我的理解是,当我创建一个侦听点击的按钮对象时,我必须:
>创建按钮对象
>使用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
}
}