点击事件监听器的五种写法

简介:

第一种方式:匿名内部类方式

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

在使用该方法的时候,一定不要把包import错了。* * 要导入android.view.View.OnClickListener* 在此处不要把包导入错了*/fun_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stubToast.makeText(getApplicationContext(), "通过setOnClickListener()方法实现",Toast.LENGTH_SHORT).show();}});</span>
第二种方式: 接口方式
        定义一个内部类实现OnClickListener接口。在这里可以实现对多个按钮的监听。
首先在当前Activity实现OnclickListener接口:
public class MainActivity extends Activity implements OnClickListener

然后就是实现接口方法:
public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {  
	    case R.id.button3:  	
			ContactTest c = new ContactTest();
			c.testInsert(context); 
	        break;  
	    case R.id.button4:
	    	ContentResolver cResolver1=this.getContentResolver();
			Uri uri4=ContactsContract.RawContacts.CONTENT_URI.buildUpon()
					.appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
			 cResolver1.delete(uri4, null, null);
	    default:  
	        break;  
	    }  
		
	}	


最后就是绑定到Button上即可:
<span style="font-size:12px;">button.setOnClickListener(this); </span>
第三种方式: 指定button 的onClick属性方式
先在layout文件中指定onClick属性:
<Button
        android:id="@+id/bt_dail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="Call"
        android:text="拨打此号码" />
然后到Activity中实现这个onButtonClick方法:
public void dailPhone(View view){  
    Call();  
}
第四种方式: 类中实现点击事件
1、在父类中调用点击事件
bt_dail.setOnClickListener(new MyButtonListener());
2、创建内部类
private class MyButtonListener implements OnClickListener{  
       /** 
       * 当按钮被点击的时候调用 
       */  
       @Override  
       public void onClick(View v) {  
           callPhone();  
        }               
 }  

第五种方式:
把事件处理单独成一个类,基本没什么好处,除非此事件处理器经常被复用。




目录
相关文章
|
7月前
|
小程序
小程序中点击子元素事件而不触发父元素的点击事件
小程序中点击子元素事件而不触发父元素的点击事件
111 0
|
1月前
|
JavaScript 前端开发
绑定事件的方法有几种?
绑定事件的方法有几种?
|
7月前
|
JavaScript 前端开发
js事件绑定的几种方法?
js事件绑定的几种方法?
|
1月前
|
JavaScript 前端开发
如何用class绑定事件监听
如何用class绑定事件监听
53 1
|
1月前
|
JavaScript
JS事件监听部分总结以及用法
JS事件监听部分总结以及用法
43 1
|
11月前
|
前端开发
关于类组件事件绑定的 this 问题
关于类组件事件绑定的 this 问题
67 0
|
小程序 JavaScript
小程序点击事件,添加class样式
小程序点击事件,添加class样式
573 0
小程序点击事件,添加class样式
|
JavaScript 前端开发
v-on:绑定事件监听器
v-on:绑定事件监听器
129 0
|
Java 开发者
监听器之属性监听器 | 学习笔记
快速学习监听器之属性监听器
116 0
|
Web App开发 JavaScript
原生js中的事件监听方法
好久没有使用过原生 js 中的监听方法,竟然发现有些陌生,几个方法之间的区别也有些混乱了。不过看过了API文档,又将他们之间的区别和用法理清楚了,这里进行总结。
2058 0