Android事件驱动模型需要深刻学习和理解,事件驱动模型三要素如下:
事件驱动模型事件源:事件的制造者,如:按钮通常会拥有注册和取消监听器的功能监听器:事件的接收者,通常是自己编写的类的对象一个实现了事件源所支持的事件接口的类事件:事件源产生的某一个具体事件一个事件源可以产生多种事件一个监听器可以接收多个事件事件的处理程序通常位于监听器内部事件驱动模型
工作步骤
1、定义监听器,为每一个事件编写处理方法
2、将监听器对象注册给事件源
3、事件源发生某个事件时调用监听器中对应的方法完成事件处理
内部类形式:内部类就是在一个类的内部定义另外一个类,使用内部类来定义事件监听器类
class btnListener1 implements View.OnClickListener{@Overridepublic 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");}});