Android點擊事件的實現方式_Android

來源:互聯網
上載者:User

在之前博文中多次使用了點擊事件的處理實現,有朋友就問了,發現了很多按鈕的點擊實現,但有很多博文中使用的實現方式有都不一樣,到底是怎麼回事。今天我們就匯總一下點擊事件的實現方式。

點擊事件的實現大致分為以下三種:

(1)Activity 實現介面方式實現點擊事件(經常使用)

(2)自訂方法,使用設定檔android:onclick

(3)使用內部類方式實現

(4)使用匿名內部類實現介紹下幾種點擊事件的實現方式:

下面我們通過代碼來簡單示範下幾種點擊事件的實現方式:
(1)Activity 實現介面方式實現點擊事件

/** * Activity 實現介面方式實現點擊事件 * Activity 實現 View.OnClickListener 實現 onClick(View view){} 方法 * 在 Activity 的 onCreate 方法中註冊事件 */public class MainActivity extends AppCompatActivity implements View.OnClickListener {  private Button btn;  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    btn = (Button) findViewById(R.id.button);    btn.setOnClickListener(this);  }  public void onClick(View v) {    Toast.makeText(MainActivity.this,"實現介面方式",Toast.LENGTH_LONG).show();  }}

(2)自訂方法,使用layout設定檔android:onclick

/** * 使用設定檔方式實現點擊事件 * 在layout中的設定檔中使用onClick 屬性指定觸發事件時的處理方法, * 在 Activity 中提供一個同名的方法 格式為 public void XXX(View v){....} */public class MainActivity extends AppCompatActivity {  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);  }  public void click(View v){    Toast.makeText(MainActivity.this,"自訂",Toast.LENGTH_LONG).show();  }}

(3)使用內部類方式實現

/** * 使用內部類方式實現點擊事件 * 定義一個 View.OnClickListener 的實作類別,實現 onClick 方法。 * 在 Activity 的 onCreate 方法中註冊事件 */public class MainActivity extends AppCompatActivity {  private Button btn;  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    btn = (Button) findViewById(R.id.button2);    btn.setOnClickListener(new Listener());  }  class Listener implements View.OnClickListener{    @Override    public void onClick(View v) {      Toast.makeText(MainActivity.this,"內部類",Toast.LENGTH_LONG).show();    }  }}

(4)使用匿名內部類實現

/** * 使用匿名內部類方式實現點擊事件 * 註冊按鈕單擊事件時直接使用匿名內部類 */public class MainActivity extends AppCompatActivity {  private Button btn;  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    btn = (Button) findViewById(R.id.button3);    btn.setOnClickListener(new View.OnClickListener(){      @Override      public void onClick(View v) {        Toast.makeText(MainActivity.this,"匿名內部類",Toast.LENGTH_LONG).show();      }    });  }}

補充:

不同的組件來實現不同類型的點擊事件,例如onItemClickListener,OnCheckedChangeListener,OnRatingBarChangeListener,OnMultiChoiceClickListener,OnDate/timeSetListener,OnScrollListener,OnChildClickListener,setOnTouchListener,OnPageChangeListener,OnMenuItemClickListener,OnEditorActionListener,OnEditorActionListener等等各種點擊事件的處理形式。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.