视频课: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");}});