1. 程式人生 > >android Button 按鈕監聽的幾種方式

android Button 按鈕監聽的幾種方式

android button控制元件目前主要有如下幾種監聽方式:

  1. 一個button控制元件對應一個監聽:
    1.       Button buttontest;  
    2.       buttontest = (Button) findViewById(R.id.button1);  
    3.       buttontest.setOnClickListener(new View.OnClickListener() {  
    4.     @Override  
    5.     public void onClick(View v) {  
    6.         // TODO Auto-generated method stub  
    7.         Log.i("TEST"
      "button onClick");  
    8.     }  
    9. });  
  2. 多個button對應一個監聽1:
    1. start = (Button) findViewById(R.id.button1);  
    2. stop = (Button) findViewById(R.id.button2);  
    3. start.setOnClickListener(mylistener );  
    4. stop.setOnClickListener(mylistener );  
    5. View.OnClickListener mylistener = new View.OnClickListener() {  
    6.         @Override
        
    7.         public void onClick(View v) {  
    8.             switch (v.getId()) {  
    9.             case R.id.button1:  
    10.                 Log.d(TAG, "Start to recorder video\n");  
    11.                 start_recorde();  
    12.                 break;  
    13.             case R.id.button2:  
    14.                 Log.d(TAG, "Stop to recorder video\n"
      );  
    15.                 stop_recorde();  
    16.                 break;  
    17.             default:  
    18.                 break;  
    19.             }     
    20.         }  
    21.     };  
  3. 多個button對應一個監聽2:
    1. public class MainActivity extends Activity implements View.OnClickListener{  
    2.     //介面元素  
    3.     private Button start;  
    4.     private Button stop;  
    5.     @Override  
    6.     public void onCreate(Bundle savedInstanceState) {  
    7.         super.onCreate(savedInstanceState);  
    8.         setContentView(R.layout.activity_main);  
    9.         start = (Button) findViewById(R.id.button1);  
    10.         stop = (Button) findViewById(R.id.button2);  
    11.         start.setOnClickListener(this);  
    12.         stop.setOnClickListener(this);  
    13.     }  
    14.     @Override  
    15.     public boolean onCreateOptionsMenu(Menu menu) {  
    16.         getMenuInflater().inflate(R.menu.activity_main, menu);  
    17.         return true;  
    18.     }  
    19.     @Override  
    20.     public void onClick(View v) {  
    21.         switch (v.getId()) {  
    22.         case R.id.button1:  
    23.             Log.d(TAG, "Start to recorder video\n");  
    24.             break;  
    25.         case R.id.button2:  
    26.             Log.d(TAG, "Stop to recorder video\n");  
    27.             break;  
    28.         default:  
    29.             break;  
    30.         }  
    31.     }  
    32. }  
  4. xml中繫結監聽:
    1. <Button   
    2. android:id="@+id/button1"   
    3. android:layout_height="wrap_content"            
    4. android:layout_width="wrap_content"   
    5. android:onClick="mybuttonlistener">  
    6. </Button>  
    對應java程式碼如下:
    1. Button btn = (Button) findViewById(R.id.button1);  
    2. public void mybuttonlistener(View target){  
    3.     //do something5       
    4. }  


相關推薦

android Button 按鈕方式

android button控制元件目前主要有如下幾種監聽方式: 一個button控制元件對應一個監聽:       Button buttontest;        buttontest 

Android載入圖片資源的方式

1. 圖片放在sdcard中,   Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是圖片的路徑,跟目錄是/sdcard)     2. 圖片在專案的res資料夾下面   //得到applicat

Android 程式碼設定Color的方式

系統自帶的顏色類 tx.setTextColor(android.graphics.Color.RED); 利用數字設定 tx.setTextColor(0xffff00f); 利用xml中已經定義好的顏色程式碼 tx.setTextColor(getResources(

Android程序間通訊的方式

定義多程序 Android應用中使用多程序只有一個辦法(用NDK的fork來做除外),就是在AndroidManifest.xml中宣告元件時,用android:process屬性來指定。 不知定process屬性,則預設執行在主程序中,主程序名字為包名。 andr

Android 非同步更新UI的方式

一、為什麼不能在主執行緒更新UI ViewRootImpl通過 checkThread() 方法檢查更新UI操作是否是在主執行緒當中 原因:Android的UI是執行緒不安全的,存在併發訪問的問

Android: WebView載入網頁的方式及網路異常處理

1.載入本地assert目錄下檔案(error.html) webcontent.loadUrl(" file:///android_asset/error.html "); 2.載入網路url(http://www.csdn.com) webcontent.loadUrl(" http://www.csd

android延時執行的方式

  在專案中有很多的方法可能我們不需要立即執行,那麼就需要延時。   首先第一種就是執行緒: sleep會阻塞執行緒   new Thread (new Runnable(){      public void run(){         Thread.sleep(time

ListView子項中包含Button按鈕混亂的解決辦法

ListView子項中包含Button按鈕,遇到監聽混亂這種問題對於初學者來說,可謂是焦頭爛額,加之網上的程式碼多是複製貼上,質量不高,也可能未能從根本上解決自己的問題,這裡我就簡要記錄下自己的一些嘗試和體會,僅以此文獻給廣大初學者。 Goods(實體類

Android】獲取Bitmap的方式總結

ApplicationInfo appInfo = getApplicationInfo(); //得到該圖片的id(name 是該圖片的名字,"drawable" 是該圖片存放的目錄,appInfo.packageName是應用程式的包) int resID = getResources().getIde

android自定義view的方式

convertView = LayoutInflater.from(mContext).inflate(R.layout.list_view_item, null); XXXX = (ItemView)convertView; 假如我想自定義一個listview,我之前的

spring 事件 3方式

http://blog.csdn.net/fhx007/article/details/5416376http://blog.csdn.net/it_man/article/details/8440737http://javabeat.net/spring-eventlist

Android Studio 新增依賴的方式

1、庫依賴(library)  2、模組依賴(module)  以上兩種又可以分為內部和外部 a、內部庫  在工程的lib下直接貼上jar、aar檔案,androidstudio會自動載入指定目錄下的依賴庫。  即粘貼後,右鍵add as library。build.g

Android中實現IPC的方式詳細分析及比較

1.使用Bundle   ----> 用於android四大元件間的程序間通訊android的四大元件都可使用Bundle傳遞資料  所以如果要實現四大元件間的程序間通訊 完全可以使用Bundle來實現 簡單方便  2.使用檔案共享  ---->用於單執行緒讀寫

Android 縮放圖片的方式說明

1. BitmapFactory.Options  options.inSampleSize,它的取值應該是2的次方:1、2、4、8…  表示寬高都是原來的1/1, 1/2, 1/4, 1/8…  如果設定的值 < 1,那麼效果就和 =1是一樣的  再呼叫BitmapFactory的相關decode

Android退出應用程式的方式

1.第一種方式:建立一個儲存activity的容器,在activity建立的時候加入到容器當中,在activity銷燬的時候,從容器中刪除。然後在需要退出應用的時候,遍歷容器內所有的activity,並且逐個finish掉。 優點:方法簡單  缺點:容器擁有對activit

Android -- Button(按鈕)的方式

之前寫了一篇關於TextView的文章,今天說的是Button(按鈕),Button是程式用於和使用者進行互動的重要控制元件,它的屬性有些和TextView類似 一、Button屬性如下: android:background     設定按鈕的背景,可以使用RGB的值來表

android Button 方式

android button控制元件目前主要有如下幾種監聽方式: 一個button控制元件對應一個監聽: Button buttontest; buttontest = (Button) findViewById(R.id.button1); butto

Button一些屬性和事件

介紹: TextView與Button是繼承關係,Button繼承自TextView。開發中一般情況下,TextView用來承載靜態文字,Button用來響應點選事件。很多人容易忽略的一點是TextVIew也有點選事件,TextView 繼承自View,點選事件是從View就有的特性,所以Tex

Android按鈕實現點選事件的方式

此方法整體看上去簡單易懂,個人比較常用 xml佈局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.

Spring配置的方式

方法一:在applicationContext.xml配置檔案中配置 <task:scheduled-tasks>        <!-- 每天凌晨兩點執行  -->        <task:scheduled ref="zginfoServ