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

什么叫监听机制

听"监听"二字的,意思就是监就是用眼睛看,听就是进行用耳朵听,说到底就是监督,如何监督一个事件,出现问题,就立即进行处理
那用恶心的话,就是说监听器就是一个实现特定接口的类,这个类什么也不做,就只做一件事,就是监督另外一个类,如何这个类,有出现,就出现它。
下面我来一个简单的例子,进行说明
-------------------------
又到了,一学期考一次试的时候了,学校新来的一个教务处长,特别严格,说,咱们是一等学校。。。。。。。省略-----
说白了,就是这次考试不能作弊!如果被监听老师发现就扣学分(这个惩罚有点底哈),大家都很害怕
角色: 监考老师,学生,
关键: 扣学分, 作弊
进行分析:首先大家都在考试,监考老师负责监督,学生就做好好做试题,当然也有不好好的,如果学生作弊被发现,就进行扣学分处理
//这是教务处的处理行为
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上下文菜单监听接口

你可能感兴趣的:(android总结)