多个 button 同时监听 Listener 类

//OnCreate方法中加入如下代码:
btn1 = (Button) findViewById(R.id.btn1); 
btn2 = (Button) findViewById(R.id.btn2); 
btn1.setOnClickListener(listener); 
btn2.setOnClickListener(listener);

//自己再另外声明一个变量
private OnClickListener listener = new OnClickListener() { 
          
          @Override 
          public void onClick(View v) { 
               //Button继承自TextView,而TextView又继承自View,所以可以向下转型 
               Button btn = (Button) v; 
               //Button一般都有一个Id(布局文件中设定),用以判断到底点击的是哪一个 
               switch (btn.getId()) { 
               case R.id.btn1: 
                    Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show(); 
                    break; 

               case R.id.btn2: 
                    System.out.println("你点击了Button2"); 
                    break; 
               } 
          } 
     };

转载于:https://my.oschina.net/u/243601/blog/158708

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你有多个不同的按钮,你可以使用同一个 ActionListener监听所有的按钮,然后在 actionPerformed() 方法中根据按钮的标识符来执行相应的操作。以下是一个示例: ``` import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MultipleButtonListenerExample implements ActionListener { private JButton button1; private JButton button2; public MultipleButtonListenerExample() { JFrame frame = new JFrame("Multiple Button Listener Example"); JPanel panel = new JPanel(); button1 = new JButton("Button 1"); button2 = new JButton("Button 2"); button1.addActionListener(this); button2.addActionListener(this); panel.add(button1); panel.add(button2); frame.add(panel); frame.pack(); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { System.out.println("Button 1 clicked!"); // 执行按钮 1 相应的操作 } else if (e.getSource() == button2) { System.out.println("Button 2 clicked!"); // 执行按钮 2 相应的操作 } } public static void main(String[] args) { new MultipleButtonListenerExample(); } } ``` 在这个例子中,我们创建了一个 JFrame 窗口、一个 JPanel 面板和两个 JButton 按钮。我们将 ActionListener 的实现 MultipleButtonListenerExample 添加到这两个按钮上,当任何一个按钮被点击时,会调用 actionPerformed() 方法,在这个方法中根据按钮的标识符来执行相应的操作。 注意,在 actionPerformed() 方法中,我们可以使用 getSource() 方法来获取触发事件的组件,然后使用 == 运算符来比较按钮的引用,以确定是哪个按钮被点击了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值