三種Android單擊事件onclick的實現(xiàn)方法
onclick事件的定義方法,分為三種,分別為在xml中進行指定方法;在Actitivy中new出一個OnClickListenner();實現(xiàn)OnClickListener接口三種方式。
代碼分別如下:
1. xml指定onclick事件,這種方式比較適用于指定的button,能使java代碼相對簡化一些:
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里如果同時指定了事件的執(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);
}
});
}
此種方式會使代碼看上去比較直觀,但是效率不高,特別是寫在listView的適配器中g(shù)etView時,new出多個對象,占用資源。優(yōu)化版的寫法如下,將點擊對象提出來如下:
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. 實現(xiàn)OnClickListener接口,這種方式使用量比較多,能解決同一個activity中所有的onclick問題。
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;
}
}
……
}
這三種方式都能實現(xiàn)點擊事件的處理,可根據(jù)使用環(huán)境,分析哪種比較適合!
- Android ButtonOnClick事件的寫法總結(jié)
- 詳談Android中onTouch與onClick事件的關(guān)系(必看)
- Android onClick按鈕單擊事件的四種常用寫法
- Android響應(yīng)事件onClick方法的五種實現(xiàn)方式小結(jié)
- Android ListView 子控件onClick正確獲取position的方法
- Android onClick方法與setOnClickListener方法對比
- Android使用TextView,設(shè)置onClick屬性無效的解決方法
- Android中button實現(xiàn)onclicklistener事件的兩種方式
- Android 布局中的android:onClick的使用方法總結(jié)
相關(guān)文章
Android開發(fā)手冊shape屬性和子屬性使用說明
這篇文章主要為大家介紹了Android開發(fā)手冊shape屬性和子屬性使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
FloatingActionButton增強版一個按鈕跳出多個按鈕第三方開源之FloatingActionButton
這篇文章主要介紹了FloatingActionButton增強版一個按鈕跳出多個按鈕第三方開源之FloatingActionButton 的相關(guān)資料,需要的朋友可以參考下2015-12-12
Android開發(fā)中Activity屬性設(shè)置小結(jié)
Android應(yīng)用開發(fā)中會經(jīng)常遇到Activity組件的使用,下面就來講解下Activity組件。Activity的生命周期、通信方式和IntentFilter等內(nèi)容,并提供了一些日常開發(fā)中經(jīng)常用到的關(guān)于Activity的技巧和方法。通過本文,你可以進一步了接Android中Activity的運作方式。2015-05-05
Android編程基于自定義view實現(xiàn)公章效果示例【附源碼下載】
這篇文章主要介紹了Android編程基于自定義view實現(xiàn)公章效果,結(jié)合實例形式分析了Android使用自定義view進行圖形繪制的相關(guān)操作技巧,并附帶完整實例源碼供讀者下載參考,需要的朋友可以參考下2017-11-11
android IntentService實現(xiàn)原理及內(nèi)部代碼分享
android IntentService實現(xiàn)原理及內(nèi)部代碼分享,需要的朋友可以參考一下2013-06-06

