在Android中,似乎有3种处理按钮点击的常用方法,这些方法之间有多大差异?他们中的任何一个在某种程度上"更好"吗?
我一直看到的三种方法是:
匿名课
通过它的ID找到按钮,然后将新的匿名类传递给setOnClickListener,例如在onCreate
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
Run Code Online (Sandbox Code Playgroud)
实现OnClickListener
实现OnClickListener并传递this给setOnClickListener,然后使用基于按钮ID的开关状态,例如在onCreate
findViewById(R.id.myButton).setOnClickListener(this);
Run Code Online (Sandbox Code Playgroud)
和实现onClick一样
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
Run Code Online (Sandbox Code Playgroud)
使用onClick XML属性
在您的活动的XML布局中,不要为您的按钮指定ID,请使用onClick如下所示:
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
Run Code Online (Sandbox Code Playgroud)
然后buttonClicked在您的Acitiviy中有一个方法,如下所示:
public void buttonClicked(View v) {
// ... whatever ...
}
Run Code Online (Sandbox Code Playgroud)
目前我倾向于使用XML属性,但这只是因为它涉及的代码量最少.我什么时候应该使用其他方法?
| 归档时间: |
|
| 查看次数: |
1187 次 |
| 最近记录: |