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

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

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

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




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值