在Android中,处理按钮点击似乎有三种常见方法,这些方法之间有多大的差异?哪个方法在某些方面更好呢?
我经常看到的三种方法是:
匿名类
通过ID查找按钮,然后将一个新的匿名类传递给setOnClickListener,在onCreate中实现。
我经常看到的三种方法是:
匿名类
通过ID查找按钮,然后将一个新的匿名类传递给setOnClickListener,在onCreate中实现。
findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});
实现OnClickListener
实现OnClickListener
并将this
传递给setOnClickListener
,然后根据按钮ID使用switch语句,例如在onCreate
中。
findViewById(R.id.myButton).setOnClickListener(this);
并实现像 onClick
这样的功能
public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}
使用 onClick XML 属性
在您的活动 XML 布局中,不要给您的按钮一个 ID,而是像下面这样使用 onClick
:
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />
然后在您的Activity中添加一个名为buttonClicked
的方法,如下所示:
public void buttonClicked(View v) {
// ... whatever ...
}
目前我倾向于使用XML属性,但这只是因为它涉及的代码最少。什么情况下应该使用其他方法?
onClick
属性。 - Mike