三種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中的Intent Filter匹配規(guī)則簡介
這篇文章主要為大家詳細介紹了Android中的Intent Filter匹配規(guī)則,感興趣的小伙伴們可以參考一下2016-04-04
android ListView內(nèi)數(shù)據(jù)的動態(tài)添加與刪除實例代碼
ListView內(nèi)數(shù)據(jù)的動態(tài)添加與刪除2013-03-03
Android實現(xiàn)dialog的3D翻轉(zhuǎn)示例
這篇文章主要介紹了Android實現(xiàn)dialog的3D翻轉(zhuǎn)示例,非常具有實用價值,需要的朋友可以參考下2017-08-08

