java - 如何制作按钮监听器组方法?

标签 java android button

所以我有 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/

相关文章:

java - 如何从 Android 服务实现 FileObserver

java - 正则表达式以匹配方括号内的字符串

java - SSLHandshakeException 导致连接 JMX 时出错

android - 如何删除Android工具栏的左边距?

android - 如何在 android 中以 html 格式添加新行?

iphone - 如何更改 UIImagePicker ViewController 中的“选择”按钮标题?

javascript - 如何将 printThis 插件功能分配给按钮?

java - 在 Java 中创建插件系统

android - 等待在 Android 应用程序中的触发器中创建的文档

java - android recyclerview 仅在第一次显示数据