三種Android單擊事件onclick的實(shí)現(xiàn)方法
onclick事件的定義方法,分為三種,分別為在xml中進(jìn)行指定方法;在Actitivy中new出一個(gè)OnClickListenner();實(shí)現(xiàn)OnClickListener接口三種方式。
代碼分別如下:
1. xml指定onclick事件,這種方式比較適用于指定的button,能使java代碼相對(duì)簡(jiǎn)化一些:
xml文件中:
<span style="color:#333333;"><Button android:text="Button03" android:id="@+id/Button03" android:layout_width="wrap_content" android:layout_height="wrap_content" <span style="color:#FF0000;">android:onClick="</span><span style="color:#ff0000;">Btn3OnClick</span><span style="color:#333333;">"</span>> </Button> </span>
紅色部分指定響應(yīng)的方法名!
Activity中定義方法:
public void Btn3OnClick(View view){ Intent intent = new Intent(mainActivity.this, fristActivity.class); intent.putExtra("data", "mainActivity"); startActivity(intent); }
2. 在onCreate方法中為button指定綁定操作,以下方法中,xml里如果同時(shí)指定了事件的執(zhí)行方法,則優(yōu)先執(zhí)行xml中的內(nèi)容。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.Button03).setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(mainActivity.this, fristActivity.class); intent.putExtra("data", "mainActivity"); startActivity(intent); } }); }
此種方式會(huì)使代碼看上去比較直觀,但是效率不高,特別是寫(xiě)在listView的適配器中g(shù)etView時(shí),new出多個(gè)對(duì)象,占用資源。優(yōu)化版的寫(xiě)法如下,將點(diǎn)擊對(duì)象提出來(lái)如下:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.Button03).setOnClickListener(onclick); } OnClickListener onclick = new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(mainActivity.this, fristActivity.class); intent.putExtra("data", "mainActivity"); startActivity(intent); } };
3. 實(shí)現(xiàn)OnClickListener接口,這種方式使用量比較多,能解決同一個(gè)activity中所有的onclick問(wèn)題。
public class mainActivity extends Activity implements OnClickListener{ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViewById(R.id.Button02).setOnClickListener(this); findViewById(R.id.Button03).setOnClickListener(this); } public void onClick(View view) { switch (v.getId()) { case R.id.Button03: Intent intent = new Intent(mainActivity.this, fristActivity.class); intent.putExtra("data", "mainActivity"); startActivity(intent); break; case R.id.Button02: Intent intent = new Intent(mainActivity.this, loginActivity.class); intent.putExtra("data", "mainActivity"); startActivity(intent); break; default: break; } } …… }
這三種方式都能實(shí)現(xiàn)點(diǎn)擊事件的處理,可根據(jù)使用環(huán)境,分析哪種比較適合!
- Android ButtonOnClick事件的寫(xiě)法總結(jié)
- 詳談Android中onTouch與onClick事件的關(guān)系(必看)
- Android onClick按鈕單擊事件的四種常用寫(xiě)法
- Android響應(yīng)事件onClick方法的五種實(shí)現(xiàn)方式小結(jié)
- Android ListView 子控件onClick正確獲取position的方法
- Android onClick方法與setOnClickListener方法對(duì)比
- Android使用TextView,設(shè)置onClick屬性無(wú)效的解決方法
- Android中button實(shí)現(xiàn)onclicklistener事件的兩種方式
- Android 布局中的android:onClick的使用方法總結(jié)
相關(guān)文章
Android開(kāi)發(fā)手冊(cè)shape屬性和子屬性使用說(shuō)明
這篇文章主要為大家介紹了Android開(kāi)發(fā)手冊(cè)shape屬性和子屬性使用說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06FloatingActionButton增強(qiáng)版一個(gè)按鈕跳出多個(gè)按鈕第三方開(kāi)源之FloatingActionButton
這篇文章主要介紹了FloatingActionButton增強(qiáng)版一個(gè)按鈕跳出多個(gè)按鈕第三方開(kāi)源之FloatingActionButton 的相關(guān)資料,需要的朋友可以參考下2015-12-12Android開(kāi)發(fā)中Activity屬性設(shè)置小結(jié)
Android應(yīng)用開(kāi)發(fā)中會(huì)經(jīng)常遇到Activity組件的使用,下面就來(lái)講解下Activity組件。Activity的生命周期、通信方式和IntentFilter等內(nèi)容,并提供了一些日常開(kāi)發(fā)中經(jīng)常用到的關(guān)于Activity的技巧和方法。通過(guò)本文,你可以進(jìn)一步了接Android中Activity的運(yùn)作方式。2015-05-05Android11文件管理權(quán)限申請(qǐng)?jiān)敿?xì)介紹
大家好,本篇文章主要講的是Android11文件管理權(quán)限申請(qǐng)?jiān)敿?xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Android4.4新增函數(shù)訪問(wèn)外部存儲(chǔ)
這篇文章主要介紹了Android4.4新增函數(shù)訪問(wèn)外部存儲(chǔ)的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10android長(zhǎng)截屏原理及實(shí)現(xiàn)代碼
本篇文章主要介紹了android長(zhǎng)截屏原理及實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Android 仿蘋(píng)果IOS6開(kāi)關(guān)按鈕
這篇文章主要介紹了Android 仿蘋(píng)果IOS6開(kāi)關(guān)按鈕的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10Android 開(kāi)發(fā)訂單流程view實(shí)例詳解
這篇文章主要介紹了 Android 開(kāi)發(fā)訂單流程view實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03Android編程基于自定義view實(shí)現(xiàn)公章效果示例【附源碼下載】
這篇文章主要介紹了Android編程基于自定義view實(shí)現(xiàn)公章效果,結(jié)合實(shí)例形式分析了Android使用自定義view進(jìn)行圖形繪制的相關(guān)操作技巧,并附帶完整實(shí)例源碼供讀者下載參考,需要的朋友可以參考下2017-11-11android IntentService實(shí)現(xiàn)原理及內(nèi)部代碼分享
android IntentService實(shí)現(xiàn)原理及內(nèi)部代碼分享,需要的朋友可以參考一下2013-06-06