1.基于监听的时间处理机制模型:
流程模型图:

文字表述:
事件监听机制中由事件源,事件,事件监听器三类对象组成
处理流程如下:
- Step 1:为某个事件源(组件)设置一个监听器,用于监听用户操作
- Step 2:用户的操作,触发了事件源的监听器
- Step 3:生成了对应的事件对象
- Step 4:将这个事件源对象作为参数传给事件监听器
- step 5:事件监听器对事件对象进行判断,执行对应的事件处理器(对应事件的处理方法)
归纳:
事件监听机制是一种委派式的事件处理机制,事件源(组件)事件处理委托给事件监听器 当事件源发生指定事件时,就通知指定事件监听器,执行相应的操作
2.五种不同的使用形式:
我们以下面这个: 简单的按钮点击,提示Toast信息的程序;使用五种不同的形式来实现!
效果图:

1)直接用匿名内部类
平时最常用的一种:直接setXxxListener后,重写里面的方法即可; 通常是临时使用一次,复用性不高!
实现代码如下:MainAcivity.java:
package com.jay.example.innerlisten;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
public class MainActivity extends Activity {
private Button btnshow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnshow = (Button) findViewById(R.id.btnshow);
btnshow.setOnClickListener(new OnClickListener() {
//重写点击事件的处理方法onClick()
@Override
public void onClick(View v) {
//显示Toast信息
Toast.makeText(getApplicationContext(), "你点击了按钮", Toast.LENGTH_SHORT).show();
}
});
}
}
布局文件加入
<Button
android:id="@+id/btnshow"
android:layout_width="3dp"
android:layout_height="48dp"
android:layout_weight="1"
android:text="密码可见" />
浙公网安备 33010602011771号