我需要知道,就复杂性而言,什么更好。要么为每个按钮从 xml 中标识一个单独的 onClick 方法,如下所示:
android:onClick:"clickHandler"
和java代码:
public void clickHandler(View v){
Button b = (Button) v;
//do something for that button
};
,或者为所有按钮指定一种方法,并用 if 条件将它们分开。
Public void clickHandler(View v){
Button b = (Button) v;
if(b.getText().equals("a")){
}
elseif(b.getText().equals("b")){
}
//And so on.
}
我不太擅长计算复杂度等,但这个问题很烦人,我无法回答。但据我了解,第一种方法增加了很多代码行数!
最佳答案
我一般喜欢后者。但我倾向于做一些看起来更像这样的事情:
public void onClick(View v){
switch(v.getId()){
case R.id.button_a:
//do button a logic here
break;
case R.id.button_b:
//do button b logic here
break;
}
}
考虑让您的 Activity 实现 View.OnClickListener
,而不是在 OnCreate()
中使用 findViewById(R.id.button_a).setOnClickListener(this) 简单附加;
关于java - Android OnClickListener 复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11421360/