Android为Button按钮添加监听事件的几种方式,有需要的朋友可以参考下。

据我目前所知的和所经常用的几种方式,写出来和大家一起分享。对于具体还有多少种,他们之间的区别,我们暂且不去深究。本次讲的是我认为最常用的三种方式。下面废话不多说。开始我们的code之旅吧!

第一种方式:在xml代码中设置监听事件,在Button标签里设置onclick属性调用需要执行的方法。但是方法的签名必须是如下格式的:

访问权限必须是public类型

必须无返回值

参数列表必须是View类型的参数

例如:

public void xml_btn_Listener(View v){

Toast.makeText(getApplicationContext(), "xml代码内调用实现",

Toast.LENGTH_SHORT).show();

}

如下是xml代码

第二种方式:这种方式是官网推荐使用

的一种方式,即使用setOnClickListener()函数的方式,参数直接使用匿名,实现OnClickListener接口的onclick()方法。

在使用该方法的时候,一定不要把包import错了。

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;

}

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐