处理多个按钮

时间:2016-01-07 09:27:08

标签: java android xml button

我的活动是25个按钮的全屏。我想知道是否有更高效的方法为他们创建听众,以便他们在点击时改变颜色而不是: Button buttonA1; Button buttonA2; Button buttonA3; ... buttonA1 = (Button) findViewById(R.id.buttonA1); buttonA2 = (Button) findViewById(R.id.buttonA2); buttonA3 = (Button) findViewById(R.id.buttonA3); ...

然后为每个...添加一个监听器

是否有可能将所有这些压缩成相当少的代码行?

2 个答案:

答案 0 :(得分:2)

在xml文件中,您可以为此按钮实现OnClickListener:

...
<Button android:id="@+id/mybutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="myMethod" />

然后,在你的java文件

public void myMethod(View v) {
// does something very interesting
}

答案 1 :(得分:1)

您可以在XML文件中为每个按钮设置android:onClick。

android:onClick="onClick"

然后在您的MainActivity中,您可以使用类似的内容。

public void onClick(View v) {
 //Handle the buttons
 public void onClick(View v) {
 switch(v.getId())
 {
 case R.id.button_a_id:
 // handle button A click;
 break;
 case R.id.button_b_id:
 // handle button B click;
 break;
 default:
 throw new RuntimeException("Unknow button ID");
   }
      }

希望它有所帮助。