This question already has answers here:
One OnClickHandler for multiple Buttons
(6个答案)
3年前关闭。
我有一个全屏的25个按钮的活动。我想知道是否还有一种更有效的方法是为它们创建侦听器,以使它们在单击时更改颜色,而不是:
然后为每个添加一个侦听器...
是否可以将所有这些压缩为更少的代码行?
然后,您可以在MainActivity中使用类似的内容。
希望能帮助到你。
(6个答案)
3年前关闭。
我有一个全屏的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); ...
然后为每个添加一个侦听器...
是否可以将所有这些压缩为更少的代码行?
最佳答案
您可以在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");
}
}
希望能帮助到你。
07-24 21:31