點選事件監聽器的五種寫法
阿新 • • 發佈:2019-02-11
在使用該方法的時候,一定不要把包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介面:
然後就是實現介面方法:
最後就是繫結到Button上即可:
先在layout檔案中指定onClick屬性:
1、在父類中呼叫點選事件
第五種方式:
把事件處理單獨成一個類,基本沒什麼好處,除非此事件處理器經常被複用。
第二種方式:介面方式
定義一個內部類實現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屬性:
然後到Activity中實現這個onButtonClick方法:<Button android:id="@+id/bt_dail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="Call" android:text="撥打此號碼" />
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();
}
}
第五種方式:
把事件處理單獨成一個類,基本沒什麼好處,除非此事件處理器經常被複用。