視頻課:https://edu.csdn.net/course/play/7621
Android事件驅動模型需要深刻學習和理解,事件驅動模型三要素如下:
事件驅動模型
事件源:事件的製造者,如:按鈕
通常會擁有註冊和取消監聽器的功能
監聽器:事件的接收者,通常是自己編寫的類的對象
一個實現了事件源所支持的事件接口的類
事件:事件源產生的某一個具體事件
一個事件源可以產生多種事件
一個監聽器可以接收多個事件
事件驅動模型事件的處理程序通常位於監聽器內部
工作步驟
1、定義監聽器,爲每一個事件編寫處理方法
2、將監聽器對象註冊給事件源
3、事件源發生某個事件時調用監聽器中對應的方法完成事件處理
內部類形式:內部類就是在一個類的內部定義另外一個類,使用內部類來定義事件監聽器類
class btnListener1 implements View.OnClickListener{ @Override public void onClick(View arg0) { tv1.setText("你按到我了!"); }}
監聽器通常採用Java匿名類來實現
匿名類的定義與對象創建同時發生
具體定義格式如下:
使用Activity本身作爲監聽器類
缺點:這種形式可能埴成程序結構混亂
public class MainActivity extends Activity implements View.OnClickListener{ ……}
爲控件植入事件的步驟:
1:確定事件源,比如說是按鈕
2:明確要監聽的事件,Android中通常是一個監聽器處理一個事件
3:通過匿名類編寫監聽器,同時註冊監聽器
//找到事件源對象Button btn = (Button)findViewById(R.id.okbtn);//註冊監聽器btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Log.d("tip", "button clicked");}});