Android为Button按钮添加监听事件的几种方式,有需要的朋友可以参考下。
据我目前所知的和所经常用的几种方式,写出来和大家一起分享。对于具体还有多少种,他们之间的区别,我们暂且不去深究。本次讲的是我认为最常用的三种方式。下面废话不多说。开始我们的code之旅吧!
例如:
public void xml_btn_Listener(View v){ Toast.makeText(getApplicationContext(), "xml代码内调用实现", Toast.LENGTH_SHORT).show(); }
<Button android:id="@+id/xml_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/fun_btn" android:layout_below="@+id/fun_btn" android:layout_marginTop="30dp" android:onClick="xml_btn_Listener" android:text="xml代码方式" />
/*
*
* 要导入android.view.View.OnClickListener
* 在此处不要把包导入错了
*/
fun_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "通过setOnClickListener()方法实现",
Toast.LENGTH_SHORT).show();
}
});
第三种方式:定义一个内部类实现OnClickListener接口。在这里可以实现对多个按钮的监听。不过每一个按钮都要注册这个类为监听对象。还要对每一按钮设置id。使用setId()方法设置id。 class_btn.setOnClickListener(new class_btn());
class_btn.setId(1);
public class class_btn implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "通过实现OnClickListener接口实现", Toast.LENGTH_SHORT).show(); switch(v.getId()){ case 1: Toast.makeText(getApplicationContext(), "测试对多个按钮的监听", Toast.LENGTH_SHORT).show();break; case 2:break; } } }