1. 程式人生 > >[note]Android按鈕單擊事件的三種常用寫法總結

[note]Android按鈕單擊事件的三種常用寫法總結

xml檔案程式碼如下:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button1" />
 
  <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button2" />

四種方法分述如下:

匿名內部類:

public class TestButtonActivity extends Activity {
 
  Button btn1, btn2;
  Toast tst;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_button);
 
    btn1 = (Button) findViewById(R.id.button1);
    btn2 = (Button) findViewById(R.id.button2);
 
    btn1.setOnClickListener(new OnClickListener() {
 
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        Toast tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
        tst.show();
 
      }
    });
 
    btn2.setOnClickListener(new OnClickListener() {
 
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        Toast tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
        tst.show();
      }
    });
  }
}
自定義單擊事件監聽類:
public class TestButtonActivity extends Activity {
 
  Button btn1, btn2;
  Toast tst;
 
  class MyClickListener implements OnClickListener {
 
    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      switch (v.getId()) {
      case R.id.button1:
        tst = Toast.makeText(TestButtonActivity.this, "111111111", Toast.LENGTH_SHORT);
        tst.show();
        break;
      case R.id.button2:
        tst = Toast.makeText(TestButtonActivity.this, "222222222", Toast.LENGTH_SHORT);
        tst.show();
        break;
      default:
        break;
      }
    }
  }
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_button);
 
    btn1 = (Button) findViewById(R.id.button1);
    btn2 = (Button) findViewById(R.id.button2);
 
    btn1.setOnClickListener(new MyClickListener());
    btn2.setOnClickListener(new MyClickListener());
  }
}
Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法,在OnClick(View view)方法中用switch-case對不同id代表的button進行相應的處理
public class TestButtonActivity extends Activity implements OnClickListener {
 
  Button btn1, btn2;
  Toast tst;
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_button);
 
    btn1 = (Button) findViewById(R.id.button1);
    btn2 = (Button) findViewById(R.id.button2);
 
    btn1.setOnClickListener(this);
    btn2.setOnClickListener(this);
  }
 
  @Override
  public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.button1:
      tst = Toast.makeText(this, "111111111", Toast.LENGTH_SHORT);
      tst.show();
      break;
    case R.id.button2:
      tst = Toast.makeText(this, "222222222", Toast.LENGTH_SHORT);
      tst.show();
      break;
    default:
      break;
    }
  }
}





相關推薦

Android onClick 按鈕事件常用寫法

匿名內部類 inpu find private highlight 事件監聽 instance super eat XML文件 <EditText android:layout_width="match_parent" android

[note]Android按鈕事件常用寫法總結

xml檔案程式碼如下: <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"

Android按鈕事件的四常用寫法總結

很多學習Android程式設計的人都會發現每個人對程式碼的寫法都有不同的偏好,比較明顯的就是對控制元件響應事件的寫法的不同。因此本文就把這些寫法總結一下,比較下各種寫法的優劣,希望對大家靈活地選擇編碼方式可以有一定的參考借鑑價值。 xml檔案程式碼如下: ? 1

Android按鈕事件及監聽器的實現方式(附例項)

第一種:匿名內部類作為事件監聽器類 大部分時候,事件處理器都沒有什麼利用價值(可利用程式碼通常都被抽象成了業務邏輯方法),因此大部分事件監聽器只是臨時使用一次,所以使用匿名內部類形式的事件監聽器更合適,實際上,這種形式是目前是最廣泛的事件監聽器形式。上面的程式

Android-1.按鈕的4監聽方式(電話撥號器)

Android電話撥號器 簡介 需求:實現一個撥號的功能,主介面包含一個Text Fields型別的控制元件EditText和一個Button按鈕,當按下按鈕後撥打EditText中的電話號碼. 分析:電話號是一串純數字文字,不應該包含其他字元。所以Edi

例的可用寫法

單例的三種可用寫法       單例是通過程式碼的寫法達到一個例項在一個堆中永遠只有一個的目的,從而去除記憶體不必要的開銷或達到某些例項(例如資料庫連線池、常見框架中的控制-事物-持久層等)永遠唯一的目的。筆者總結了以下三種可用

js繫結事件

$("#text").bind("click",function(){ alert("我的id為text,你點選時觸發"); }); $("#text1").on("click",function(){ alert("hellworl"); }); $("#text2

Android 自定義OA平臺制作ListView事件失效

rcc idt mes red left emc sde add XML 因為自帶新OA平臺制作QQ2952777280【話仙源碼論壇】hxforum.com【木瓜源碼論壇】papayabbs.com 的listView不能滿足項目需求,通過實現自己的Adapter去繼承A

Android-響應按鈕的點選實現方法

一、使用反射方式來實現按鈕的點選 新增一個onButtonClicked方法 public void onButtonClicked(View view) { TextView tex

xamarin android如何監聽事件

在xamarin android單擊事件是最基礎的事情,看過菜鳥上的android教程時,java寫的都是監聽事件,為一個按鈕,單選按鈕、多選按鈕的單擊事件有三種,前面兩種用的非常普遍,也很簡易,我這裡主要就是寫一下xamarin android中的監聽事件。 1.使用委託

實現按鈕的左鍵和右鍵事件 編輯框的回車鍵和ctrl+enter組合鍵訊息響應

                      實現按鈕的左鍵單擊和右鍵單擊事件   實現編輯框的回車鍵和ctrl+enter組合鍵訊息響應 VC+MFC裡按鈕只有單擊和雙擊訊息,要實現做簡單幾何右鍵單擊,得在PreTransLateMessage裡面實現; 對話方塊的Pre

一步一步學android事件篇——事件

在使用軟體的時候單擊事件必不可少,比如我想確定、取消等都需要使用者的單擊,所有的單擊事件都是由View.OnClickListener介面來進行處理的,介面定義如下: public static interface View.OnClickListener{ publ

Android實現TextView部分文字監聽事件

由於專案需要,在Android上實現TextView部分文字監聽單擊事件效果如下: 網上找了一些資料,我自己加工一下,生成了一個工具類,使用非常方便,程式碼如下: TextViewUtil.getInstance().setPartOnClickListener(mTv

安卓開發學習之014 Button應用詳解(樣式、背景、按鈕、長按、雙、多事件

一、Button簡介 按鈕也是繼承自TextView 二、XML定義方法 <Button android:id="@+id/button01" android:layout_width="w

android選單項事件方法介紹

響應選單項的單擊動作: 一、實現OnMenuItemClickListener介面,再實現此介面的OnMenuItemClick(MenuItem item)方法; 二、使用Activity類的onOptionsItemSelected(MenuItem item)和onM

android處理和滑動事件

package com.aslibra.test; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.vi

讓一個按鈕自動觸發,自動執行onclick滑鼠事件. 預設已點選.

這裡我的按鈕是jsp中的一個<a>標籤寫的,下面是定時兩秒預設點選,當然,想直接預設點選的話就直接把方法裡面的毫秒值2000刪除就可以了,也可以自行設定毫秒值進行定時。 <scrip

ListView的兩監聽某一項的事件的方法

第一種,通過Adapter的parent.getAdapter()方法來獲取 adapter=new FirstListViewAdapter(list,getActivity());        

事件

extends andro @+ findview eat edit stat orien nco 單擊事件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="htt

在Echarts 柱形圖的事件中寫入自定義的參數

cnblogs img ges == innerhtml .com echart 通過 code