除了課堂上介紹的設定的監聽器的方法,還有哪些辦法實現按鈕的響應?
方法一:指定按鈕功能
1)Activity_main.xml增加兩個按鈕:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:onClick="onClick"
android:text="Button1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:onClick="onClick"
android:text="Button2"
android:layout_marginStart="55dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/button1"/>
2)修改string.xml
<string name="button1">button1</string>
<string name="button2">button2</string>
3)修改MainActivity.java,增加如下內容
Toast tst;
public void onClick(View view){
switch (view.getId()){
case R.id.button1:
tst=Toast.makeText(this,"button1",Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst=Toast.makeText(this,"button2",Toast.LENGTH_SHORT);
tst.show();
break;
default:break;
}
}
總結:這種方法是在xml檔案中指定按鈕的onclick屬性,這樣點選按鈕就會利用反射的方式呼叫對應Activity中的onClick方法
方法二:自定義事件
1)增加onClick()方法
public void onClick(View view) {
switch (view.getId()){
case R.id.button1:
tst=Toast.makeText(MainActivity.this,"button1",Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst=Toast.makeText(MainActivity.this,"button2",Toast.LENGTH_SHORT);
tst.show();
break;
default:break;
}
2)在onCreate方法中呼叫onClick方法
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn1.setOnClickListener(new clickListener());
btn2.setOnClickListener(new clickListener());
方法三:
1)重寫onClick方法
public void onClick(View view){
switch (view.getId()){
case R.id.button1:
tst=Toast.makeText(MainActivity.this,"button1",Toast.LENGTH_SHORT);
tst.show();
break;
case R.id.button2:
tst=Toast.makeText(MainActivity.this,"button2",Toast.LENGTH_SHORT);
tst.show();
break;
default:break;
}
}
2)修改onCreate方法
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
總結:Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法,在OnClick(View view)方法中用switch-case對不同id代表的button進行相應的處理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30046312/viewspace-2137133/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Androidx為Fragment中的按鈕設定監聽AndroidFragment
- MFC設定按下Enter鍵後響應指定的按鈕
- 設定按鈕失效的幾種方式簡單介紹
- [譯] 用 Flutter 實現 Facebook 的響應式按鈕Flutter
- Android ListView中按鈕監聽器設定及優化AndroidView優化
- js實現的按鈕響應點選回車事件JS事件
- 在 js 裡定義按鈕的響應函式JS函式
- html的reset按鈕的作用簡單介紹HTML
- 設定按鈕的徽章文字
- 使用監聽器實現JavaWeb的定時執行JavaWeb
- Asp.net設定預設按鈕的方法總結ASP.NET
- 多IP伺服器上監聽器的設定伺服器
- iOS 11開發教程(二十一)iOS11應用檢視美化按鈕之實現按鈕的響應(1)iOS
- 除了Excel,還有哪些好用的工時管理系統?Excel
- MY_ iOS 按鈕超過父檢視範圍無法響應事件的處理方法iOS事件
- 除了程式設計還有其它的要學程式設計
- UIButton(用按鈕中的文字大小來動態設定按鈕的尺寸)UI
- 程式設計師除了高薪外,還有哪些獲得收入的途徑?程式設計師高薪
- IQKeyboardManager 獲取完成按鈕的解決辦法
- jQuery實現動態設定按鈕是否可用jQuery
- jQuery實現的監聽回車按鍵程式碼例項jQuery
- 除了996 ICU,GitHub上還有哪些奇葩的專案?996Github
- 資料探勘的辦法有哪些
- 簡單介紹NMS的實現方法
- 最全的HTTP響應狀態碼列表:除了404,HTTP狀態碼還有啥?HTTP
- iOS專案開發實戰——監聽對話方塊的按鈕點選事件iOS事件
- QT中使用Event Filter監聽按鈕事件,Release後按鈕不見QTFilter事件
- 從linux伺服器進行下載,除了ftp還有哪些方法Linux伺服器FTP
- 將按鈕設定為不可用幾種方式簡單介紹
- Android打電話程式(根據新增按鈕監聽的3種不同方式分別實現)Android
- java鍵盤監聽之視窗監聽的實現Java
- iOS 11開發教程(二十二)iOS11應用檢視實現按鈕的響應(2)iOS
- Jbpm4監聽的實現
- LayoutTransiton實現簡單的錄製按鈕
- 陣列有哪些方法支援響應式更新的?底層原理如何實現?陣列
- 應急響應工具介紹的三個系列
- Vue響應式原理-如何監聽Array的變化?Vue
- iOS 11開發教程(二十)iOS11應用檢視美化按鈕之設定按鈕的狀態iOS