三種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系統(tǒng)對(duì)話框使用詳解(最詳細(xì))
這篇文章主要介紹了Android系統(tǒng)對(duì)話框使用詳解(最詳細(xì)),需要的朋友可以參考下2017-10-10
Android中的Intent Filter匹配規(guī)則簡(jiǎn)介
這篇文章主要為大家詳細(xì)介紹了Android中的Intent Filter匹配規(guī)則,感興趣的小伙伴們可以參考一下2016-04-04
學(xué)習(xí)使用Android Chronometer計(jì)時(shí)器
Chronometer是一個(gè)簡(jiǎn)單的計(jì)時(shí)器,你可以給它一個(gè)開(kāi)始時(shí)間,并以計(jì)時(shí),或者如果你不給它一個(gè)開(kāi)始時(shí)間,它將會(huì)使用你的時(shí)間通話開(kāi)始,這篇文章主要幫助大家學(xué)習(xí)掌握使用Android Chronometer計(jì)時(shí)器,感興趣的小伙伴們可以參考一下2016-04-04
Android App中自定義View視圖的實(shí)例教程
這篇文章主要介紹了Android App中自定義View視圖的實(shí)例教程,詳細(xì)講解了如何在創(chuàng)建View中定義各種鎖需要的樣式屬性,需要的朋友可以參考下2016-04-04
android ListView內(nèi)數(shù)據(jù)的動(dòng)態(tài)添加與刪除實(shí)例代碼
ListView內(nèi)數(shù)據(jù)的動(dòng)態(tài)添加與刪除2013-03-03
Android實(shí)現(xiàn)語(yǔ)音識(shí)別代碼
語(yǔ)音識(shí)別在android上使用起來(lái)很方便也很簡(jiǎn)單.但是有個(gè)前提條件,就是android機(jī)器上必須預(yù)先安裝google的語(yǔ)音搜索工具,今天我們就來(lái)詳細(xì)探討下2015-06-06
Android實(shí)現(xiàn)dialog的3D翻轉(zhuǎn)示例
這篇文章主要介紹了Android實(shí)現(xiàn)dialog的3D翻轉(zhuǎn)示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-08-08

