1. 程式人生 > >點選事件監聽器的五種寫法

點選事件監聽器的五種寫法

在使用該方法的時候,一定不要把包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();  
        }               
 }  

第五種方式:
把事件處理單獨成一個類,基本沒什麼好處,除非此事件處理器經常被複用。