Android響應(yīng)事件onClick方法的五種實現(xiàn)方式小結(jié)
在Android的開發(fā)中,對于點擊事件的OnClickListener有下面四種實現(xiàn)方式,可以根據(jù)實際場景的需要選擇合適的用法。下面以Button按鈕來舉例說明。
方法一:
適合場景:任何場景都通用,但對于一個Activity中要是有多個控件要實現(xiàn)onClick方法就會顯得代碼冗余。
Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //具體點擊操作的邏輯 } });
方法二:
適合場景:適合有多個同類型控件(比如Button數(shù)組)要實現(xiàn)onClick()方法時使用
Button[] demoBtns ; …… for(Button button : demoBtns ){ button.setOnClickListener(listener); } private OnClickListener listener = new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch(arg0.getId()){ case R.id.btn_Demo: //具體點擊操作的邏輯 break; default: break; } } }
方法三:
適合場景:同方法二,兩者差別不大
Button bt_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(new ButtonListener()); private class ButtonListener implements OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub switch(arg0.getId()){ case R.id.btn_Demo: //具體點擊操作的邏輯 break; default: break; } } }
方法四:
適合場景:適合界面上有不同類型的控件,這種方式將所有控件的onClick方法在一個方法里面實現(xiàn),看起來比較簡潔
在Activity中實現(xiàn)OnClickListener接口:
public class MyActivity extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //按紐 Button btn_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(this); } @Override public void onClick(View v) { switch(arg0.getId()){ case R.id.btn_Demo: //具體點擊操作的邏輯 break; default: break; } } }
方法五:
適合場景:通用場景,特別是某個控件的點擊方法要實現(xiàn)的邏輯較復(fù)雜的時候使用。
在布局文件中加上android:onClick="方法名",對于有些控件(比如TextView)需要兼容舊的SDK API,還需要加上android:clickable="true"
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:onClick="onTextViewClick" android:text="點擊事件" android:textSize="16sp" />
//在代碼中實現(xiàn)onTextViewClick()方法即可。 public void onTextViewClick(){ //具體點擊操作的邏輯 }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android ButtonOnClick事件的寫法總結(jié)
- 詳談Android中onTouch與onClick事件的關(guān)系(必看)
- Android onClick按鈕單擊事件的四種常用寫法
- Android ListView 子控件onClick正確獲取position的方法
- Android onClick方法與setOnClickListener方法對比
- Android使用TextView,設(shè)置onClick屬性無效的解決方法
- 三種Android單擊事件onclick的實現(xiàn)方法
- Android中button實現(xiàn)onclicklistener事件的兩種方式
- Android 布局中的android:onClick的使用方法總結(jié)
相關(guān)文章
使用Android Studio創(chuàng)建OpenCV4.1.0 項目的步驟
這篇文章主要介紹了使用Android Studio創(chuàng)建OpenCV4.1.0 項目的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Android編程創(chuàng)建與解析xml的常用方法詳解
這篇文章主要介紹了Android編程創(chuàng)建與解析xml的常用方法,結(jié)合具體實例形式較為詳細(xì)的分析了Android操作xml文件的步驟、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下2017-05-05Android自定義有限制區(qū)域圖例角度自識別涂鴉工具類
這篇文章主要為大家介紹了Android自定義有限制區(qū)域圖例角度自識別涂鴉工具類,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02Android開發(fā)之緩沖dialog對話框創(chuàng)建、使用與封裝操作
這篇文章主要介紹了Android開發(fā)之緩沖dialog對話框創(chuàng)建、使用與封裝操作,結(jié)合具體實例形式分析了Android緩沖dialog對話框的創(chuàng)建、設(shè)置、顯示、關(guān)閉等操作實現(xiàn)方法,需要的朋友可以參考下2017-09-09Android編程實現(xiàn)懸浮窗獲取并顯示當(dāng)前內(nèi)存使用量的方法
這篇文章主要介紹了Android編程實現(xiàn)懸浮窗獲取并顯示當(dāng)前內(nèi)存使用量的方法,涉及Android針對窗口及內(nèi)存的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07Android點擊Button實現(xiàn)功能的幾種方法總結(jié)
當(dāng)Button有多個或者Button的使用次數(shù)很多時,我們需要采用綁定監(jiān)聽器的做法,其實,綁定監(jiān)聽器也有幾種方法,不過,我在這里就不一一列舉了,畢竟那些方法在實際的應(yīng)用中也不常見2013-10-10Android使用OKHTTP解析JSON數(shù)據(jù)的實例代碼
本篇文章主要介紹了Android使用OKHTTP解析JSON數(shù)據(jù)的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Android LinearLayout實現(xiàn)自動換行
這篇文章主要為大家詳細(xì)介紹了Android LinearLayout實現(xiàn)自動換行,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08