TShopping

 找回密碼
 註冊
搜索
查看: 638|回復: 0

[教學] android setOnClickListener 用法

[複製鏈接]
發表於 2014-4-14 00:27:03 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
1)第一種,也是最長見的添加方法(一下都以Button為例)
  1.   Button btn = (Button) findViewById(R.id.myButton);
  2.           btn <span style="color: rgb(0, 0, 205);">.setOnClickListener(new View.OnClickListener() {</span>
  3.                   public void onClick(View v) {
  4.           //do something
  5.                   }
  6.               });
複製代碼
2)第二種,下面這個方法較前一種稍微簡單了一些,允許多個Buttons共享一個Listener。通過Switch控制對不同Button Click事件的響應方法:
  1. Button btn = (Button) findViewById(R.id.mybutton);
  2.         Button btn2 = (Button) findViewById(R.id.mybutton2);
  3. <span style="color: rgb(0, 0, 255);">btn.setOnClickListener(handler);</span>
  4.         btn2.setOnClickListener(handler);
  5.         View.OnClickListener handler = View.OnClickListener() {
  6.                 public void onClick(View v) {
  7.                     switch (v.getId()) {
  8.                        case R.id.mybutton:
  9.         //do something
  10.                        break;
  11.                        case R.id.mybutton2:
  12.         //do something
  13.                        break;
  14.                     }
  15.             }
複製代碼
3)第三種,直接將Clicklistener捆綁XML layout中的Views元素,在程序中定義的Listener方法需要帶有一個View類型的參數:
  1. <?xml version="1.0" encoding="utf-8"?>
  2.         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.             android:orientation="vertical" android:layout_width="fill_parent"
  4.             android:layout_height="fill_parent">
  5.             <TextView android:layout_width="fill_parent"
  6.                 android:layout_height="wrap_content" android:id="@+id/text"
  7.                 android:text="@string/hello" />
  8.             <Button android:id="@+id/mybutton" android:layout_height="wrap_content"
  9.                 android:layout_width="wrap_content" <span style="color: rgb(0, 0, 255);">android:onClick="mybuttonlistener"</span>></Button>
  10.         </LinearLayout>
複製代碼
  1. Button btn = (Button) findViewById(R.id.mybutton);
  2.          
  3. public void mybuttonlistener(View target){
  4.          //do something
  5. }
複製代碼

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-8 02:40 , Processed in 0.053742 second(s), 22 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表