java - Android OnClickListener 复杂性

标签 java android complexity-theory onclicklistener

我需要知道,就复杂性而言,什么更好。要么为每个按钮从 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/

相关文章:

java - Tomcat 构建错误 : java. lang.NoClassDefFoundError

java - JUnit 在每次测试用例方法运行时实例化对象

java - 编写 equals 方法来比较两个数组

android - 获取存储在 sd 卡 + android 中的图像的缩略图 Uri/路径

algorithm - Big-Oh类之间的数学关系

java - 消费者和 worker 模式

android - 自动完成文本输入仅显示与第一个字母匹配的项目

java - 无法将数据从 AppCompatDialogFragment 传递到 Fragment (NullPointerException)

algorithm - 为有向图中的每个顶点查找可达顶点

算法复杂度