android_事件处理机制-监听器接口

来源:互联网 发布:网络事件营销 编辑:程序博客网 时间:2024/05/16 15:59

什么叫监听机制

听"监听"二字的,意思就是监就是用眼睛看,听就是进行用耳朵听,说到底就是监督,如何监督一个事件,出现问题,就立即进行处理那用恶心的话,就是说监听器就是一个实现特定接口的类,这个类什么也不做,就只做一件事,就是监督另外一个类,如何这个类,有出现,就出现它。下面我来一个简单的例子,进行说明-------------------------又到了,一学期考一次试的时候了,学校新来的一个教务处长,特别严格,说,咱们是一等学校。。。。。。。省略-----说白了,就是这次考试不能作弊!如果被监听老师发现就扣学分(这个惩罚有点底哈),大家都很害怕角色: 监考老师,学生,关键: 扣学分, 作弊进行分析:首先大家都在考试,监考老师负责监督,学生就做好好做试题,当然也有不好好的,如果学生作弊被发现,就进行扣学分处理
//这是教务处的处理行为public interface MyIHandler {  //这个接口,相当于教务处    public abstract  void DeletePoint(); //这个是扣学分行为  }
public class Student {    private MyIHandler myHander;    public void addListener(MyIHandler tMyIHandler) { // 我把签到,进行考试        this.myHander = tMyIHandler;        System.out.println("我在考场的路上走啊走啊-----");        System.out.println("我把签到,进行考试");        System.out.println("我不会做了,想作弊----")    }}
public class Teacher implements MyIHandler { // 这个是监考老师    public static void main(String[] args) {        Student student = new Student();        Teacher teacher = new Teacher();        student.addListener(teacher);    }    public void DeletePoint() { //进行处理,不能的行为,为不同的处理        System.out.println("我发现你了!");        System.out.println("我要扣你分");    }}

老师(Teacher类):就是实现接口的一个 java监听器
学生(Student类) :就是发出想作弊的事件源
作弊:就是一个事件, 只要学生作弊,就会被老师的DeletePoint进行捕获处理,
总结:实现一个监听模式,最少要3个类,一个监听类,一个事件源,一个事件

注意一下:只要实现了教务处接口的方法,都可以进行对学生的监听,如果学校领导类,实现这个接口方法deletepoint,它就可以对作弊学生进行处理,当然匿名类,也可以
如:采用匿名类

public class main {    public static void main(String[] args) {        Student student = new Student();        student.addListener(new MyIHandler() {            public void DeletePoint() { // 进行处理,不能的行为,为不同的处理                System.out.println("我发现你了!");                System.out.println("我要扣你分");            }        });    }}

采用其它类,如果Boss

public class main {    public static void main(String[] args) {        Student student = new Student();        student.addListener(new SchoolBoss());    }}class SchoolBoss implements MyIHandler {    // 这个是学校Boss    public void DeletePoint() { // 进行处理,不能的行为,为不同的处理        System.out.println("我发现你了!");        System.out.println("我要扣你分");    }}

那么在android中的监听器有很多,这里做一个复习哈
OnClickListener 点击事件接口
OnLongClickListener长按事件接口
OnFocusChangerListener 控件焦点改变接口
OnKeyListener对手机键盘监听接口
OnTouchListener对手机屏幕触摸接口
OnCreateContextMenuListener上下文菜单监听接口

0 0