安卓入門之Button事件響應
阿新 • • 發佈:2018-11-08
Android環境 介紹
Android Studio 2.3.3 、Java之後的安卓入門部落格都是在這個環境下進行的。
Button原理簡單分析
眾所周知,button的作用就是響應事件,當button isChecked 就會執行響應的函式和操作。Android中Button的使用方法大同小異,Android中引入了Listener監聽器來監聽OnCilcked。接下來我們淺度分析一下(個人還不懂Android基層的原理):
Button的繼承順序:
↳ | 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被點選時被呼叫
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事件基本上都是一次性事件,不會被重複用到,如果按方法一、二來操作會產生大量方法和類,這樣就不便於維護和除錯了,所以方法三是個不錯的選擇。
謝謝觀看,歡迎評論。(如有不對,請即使指點)