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

简介:

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

        这种方式是官网推荐使用 的一种方式,即使用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();  
        }               
 }  

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




目录
相关文章
|
22天前
|
JavaScript 前端开发
除了点击事件,`addEventListener` 还能用于处理哪些事件类型?
【10月更文挑战第29天】 `addEventListener` 能够处理的事件类型非常丰富,涵盖了各种用户交互和页面状态变化的场景,通过合理地使用这些事件类型,可以为网页或应用程序添加丰富多样的交互效果和功能。
|
22天前
|
JavaScript 前端开发
除了 `addEventListener` 方法,还有哪些方式可以为元素添加事件监听器?
【10月更文挑战第29天】虽然存在多种为元素添加事件监听器的方式,但 `addEventListener` 方法因其具有更好的兼容性、灵活性和可维护性,成为了现代JavaScript开发中添加事件监听器的首选方式。在实际项目中,应尽量使用 `addEventListener` 来实现事件绑定,以提高代码的质量和可维护性,并确保在不同浏览器中的一致性表现。
|
2月前
|
JavaScript 前端开发 索引
如何给组件的元素添加事件监听器?
在组件的元素上添加事件监听器,可以通过在元素上使用 `@事件名` 的语法来实现。例如,`@click=&quot;handleClick&quot;` 表示当元素被点击时,会触发 `handleClick` 方法。
|
4月前
|
JavaScript 前端开发
绑定事件的方法有几种?
绑定事件的方法有几种?
|
Windows
事件绑定方式
事件绑定方式
|
7月前
|
缓存 JavaScript
Vue: 事件修饰符, 键盘事件, 鼠标事件,计算属性
Vue: 事件修饰符, 键盘事件, 鼠标事件,计算属性
57 2
|
JavaScript 前端开发
js事件绑定的几种方法?
js事件绑定的几种方法?
|
7月前
|
JavaScript
JS事件监听部分总结以及用法
JS事件监听部分总结以及用法
82 1
|
7月前
|
JavaScript 前端开发
如何用class绑定事件监听
如何用class绑定事件监听
142 1
|
小程序 JavaScript
小程序点击事件传参
小程序点击事件传参
307 0