安卓_在同一个active中设置多个监听

andoird_logo
Android

Android常见的按钮监听器实现方式

为按钮(Button)添加响应事件,需要为其设置监听器(Listener)。本文总结了Android中常用的几种Button Listener。

一.使用匿名内部类

Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener {
	public void onClick(View v) {
		System.out.println("使用匿名内部类创建按钮监听器");
		}
	});

二.使用内部类

public class ButtonListener extends Activity {
	public void onCreate(Bundle savedInstanceState) {
	   super.onCreate(savedInstanceState);
           setContentView(R.layout.main);
	   Button button = (Button)findViewById(R.id.button);
	   MyListener myListener = new MyListener();
	   button.setOnClickListener(myListener);
        }

        class MyListener implements OnClickListener {
	   public void onClick (View v){
		System.out.println("使用内部类创建按钮监听器");
	   }
        }
}

三.使用外部类

public class ButtonListener extends Activity {
	...
	...
	Button button = (Button)findViewById(R.id.button);
	button.setOnClickListener(new ButtonListener());
}
public class ButtonListener implements OnClickListener {
	public void onClick (View v){
		System.out.println("使用外部类创建按钮监听器");
	}
}



例子2:

  
  
Baby_Bonnie
Baby_Bonnie 非常感谢你的答案,简洁明了!
2 年多之前 回复
LiDaming_and
LiDaming_and  

您可以使用一个没有定义为匿名内部类的处理程序。但这个类得是一个单独的类。onClick()将会传递视图,你可以在onClick()中选择。

public class MyActivity implements OnClickListener {
    public void onClick(View v) {
       Button b = (Button)v;
       // do what you want 
    }

    ...
}

然后在你的layout.xml放入每个按钮

<Button android:id=".."
        android:onClick="onClick"
2012.11.06 17:23 举报 | 评论 0 | |
0
hcg_21
hcg_21  

你可以在一个类中处理它们,然后实现OnClickListener事件。或在该Activity中添加:

import android.view.View.OnClickListener;

   public class MyActivity extends Activity implements OnClickListener {

      @Override public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         Button buttonA = (Button) findViewById(R.id.buttonA);    
         buttonA.setOnClickListener(this);
         Button buttonB = (Button) findViewById(R.id.buttonB); 
         buttonB.setOnClickListener(this);
      }

   //......

   public void onClick(View v) {

      switch (v.getId()) {
         case R.id.buttonA: 
          //......
          break;
         case R.id.buttonB:
          // ......
          break;
      }
   }

}



四.绑定到标签

在布局文件中为Button控件添加属性:

android:onClick="ButtonListener"

然后在java中定义ButtonListener方法

public void ButtonListener (View source) {
System.out.println("使用标签属性创建按钮监听器");
}

更新: 在AndroidStudio中,处理onClick事件可以在控件的属性窗口中为onClick指定方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值