所以我有 12 个按钮,我想让每个 4 个按钮执行相同的方法,所以它是这样的
@Override
public void onClick(View one) {
if(one==button1|| one==button2|| one==button3|| one==button4){
//do something
}
}
@Override
public void onClick(View two) {
if(two==button5|| two==button6|| two==button7|| two==button8){
//do something
}
}
@Override
public void onClick(View three) {
if(three==button9|| three==button10|| three==button11|| three==button12){
//do something
}
}
这个方法可以实现吗?如果是的话,任何人都可以帮我提供示例代码吗?谢谢
最佳答案
为多个按钮创建一个监听器:
OnClickListener listener1 = new OnClickListener() {
@Override
public void onClick(View v) {
// some code
}
};
button1.setOnClickListener(listener1);
button2.setOnClickListener(listener1);
button3.setOnClickListener(listener1);
button4.setOnClickListener(listener1);
OnClickListener listener2 = new OnClickListener() {
@Override
public void onClick(View v) {
// some code
}
};
button5.setOnClickListener(listener2);
button6.setOnClickListener(listener2);
button7.setOnClickListener(listener2);
button8.setOnClickListener(listener2);
或者在监听器中使用开关,如下所示:
@Override
public void onClick(View button) {
switch (button.getTag())(
case 'button1':
case 'button2':
case 'button3':
// do something
break;
case 'button4':
case 'button5':
case 'button6':
// do anotherthing
break;
}
}
正如 Abhishek Kumar 所说,您可以在 xml 中设置按钮的监听器:
android:onClick="onClick"
关于java - 如何制作按钮监听器组方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33450841/