android開發中單擊事件的多種實現方法
onclick事件的定義方法,分為三種,分別為在xml中進行指定方法;在Actitivy中new出一個OnClickListenner();實現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>
紅色部分指定響應的方法名!
Activity中定義方法:
public void Btn3OnClick(View view){
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
2. 在onCreate方法中為button指定繫結操作,以下方法中,xml裡如果同時指定了事件的執行方法,則優先執行xml中的內容。
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的介面卡中getView時,new出多個物件,佔用資源。優化版的寫法如下,將點選物件提出來如下:
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. 實現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;
}
}
……
}
這三種方式都能實現點選事件的處理,可根據使用環境,分析哪種比較適合!
相關文章
- Android onClick事件三種實現方法Android事件
- Android雙擊以及多擊事件Android事件
- android全屏去掉title欄的多種實現方法Android
- Java中6種單例實現方法Java單例
- Android 按鈕單擊事件的四種常用寫法總結Android事件
- 區塊鏈安全:實現公鏈雙花攻擊的多種方法區塊鏈
- 模擬迴圈單擊事件實現layout中間panel全屏事件
- sliverlight簡單方法實現雙擊觸發
- jQuery事件中on實現繫結多個事件jQuery事件
- 雙擊事件(dblclick)時,不觸發單擊事件(click)事件
- android 實現拍照的2種方法Android
- Spring Boot 3中實現多種身份驗證方法開源案例Spring Boot
- PHP開發中多種方案實現高併發下的搶購、秒殺功能PHP
- 實現Android監控任意控制元件或按鍵雙擊事件方法Android控制元件事件
- java單例的幾種實現方法Java單例
- JS實現單例模式的多種方案JS單例模式
- Android開發之onClick事件的三種寫法Android事件
- 雙擊和單擊事件衝突解決方法事件
- android處理單擊雙擊和滑動事件Android事件
- Android開發中陰影效果的實現Android
- Java 實現單例模式的 9 種方法Java單例模式
- 用Kotlin實現Android點選事件的方法KotlinAndroid事件
- 巧妙方法教你實現多種main()AI
- Awk 陣列排序多種實現方法陣列排序
- Android開發中利用ObjectAnimator實現ArcMenuAndroidObject
- 基於SpringBoot實現單元測試的多種情境/方法(二)Spring Boot
- 實現單例模式的 9 種方法,你知道幾種?單例模式
- 同一個元素的單擊事件與雙擊事件事件
- C#中實現併發的幾種方法的效能測試C#
- Android開發之TabLayout實現頂部選單AndroidTabLayout
- Java多執行緒【三種實現方法】Java執行緒
- Java面試之Java中實現多執行緒有幾種方法Java面試執行緒
- 單例模式的幾種實現與在Android原始碼中的應用單例模式Android原始碼
- Android中SharePreferences的簡單實現Android
- Android可滑動Tab的3種實現方法Android
- 詳細分析 Java 中實現多執行緒的方法有幾種?(從本質上出發)Java執行緒
- Android 7.0中的多視窗實現解析Android
- Python 5種方法實現單例模式Python單例模式