1. 程式人生 > >安卓入門之Button事件響應

安卓入門之Button事件響應

Android環境 介紹

Android Studio 2.3.3  、Java之後的安卓入門部落格都是在這個環境下進行的。


   Button原理簡單分析

      眾所周知,button的作用就是響應事件,當button isChecked 就會執行響應的函式和操作。Android中Button的使用方法大同小異,Android中引入了Listener監聽器來監聽OnCilcked。接下來我們淺度分析一下(個人還不懂Android基層的原理):

  Button的繼承順序:

java.lang.Object
   ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.Button

在android.view.View下有一個setOnClickListener函式

The above snippet creates an instance of 

View.OnClickListener and wires the listener to the button usingsetOnClickListener(View.OnClickListener). As a result, the system executes the code you write in onClick(View) after the user presses the button. (摘自Android官方文件)

可見Button其實就是通過實現setOnClickListener函式來完成點選事件響應的,當例項化interface View.onClickListener後(此介面用於設定一個回撥(callback),當View被點選時被呼叫

),就可以利用setOnClickListener來實現簡單事件響應了。其中的內部原理還在更加底層的繼承、介面中,這裡今後還會更新(本人學完後)。


Button實現三種方法

方法一:視覺化程式設計

     在對應button的XML視覺化介面中,找打想實現的button對應的onclick對應的選項,然後在編輯框中輸入對應的函式名(如:btnAdd);然後在對應的Activity中實現次函式就可以了:

 public void btnAdd(View view) //方法一:函式必須是public void **(View view),只能更改函式名
 {
    //填寫想要實現的功能

 }

    方法二:自定義類

//Activity中

Button btn=(Button)findViewById(R.id.id_button);
btn.setOnClickListener(new MyClickListener());

  //自定義實現Interface View.OnClickListener
    private class MyClickListener impletments View.OnClickListener 
                                                //實現Interface中的onClick
    {
        public void onClick(View v)
        {
            //實現事件響應
        }

    }

   方法三:匿名類(推薦)

//Activity中
Button  btn=(Button)findViewById(R.id.id_button);

btn.setOnClickListener( new View.OnClickListener()  //匿名類
    {
        public void onClick(View v)
        {
            //Button響應事件
        }

     }

);

   在Android Button事件基本上都是一次性事件,不會被重複用到,如果按方法一、二來操作會產生大量方法和類,這樣就不便於維護和除錯了,所以方法三是個不錯的選擇。

謝謝觀看,歡迎評論。(如有不對,請即使指點)