我的活动是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);
...
然后为每个...添加一个监听器
是否有可能将所有这些压缩成相当少的代码行?
答案 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");
}
}
希望它有所帮助。