平时在写程序时经常会遇到监听器,比如按钮的click监听器,按键监听器等等。而android中的监听器和java中的回调函数是同一个概念,都是在底层代码中定义一个接口来调用高层的代码。那么什么是回调函数呢?网上说的是“在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就称为回调。在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃。这样的解释似乎还是比较难懂,这里举个简单的例子,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。”按照我的理解就是在程序A中先挖了一个坑,然后等着你在程序B中去填里面的内容。不填?那就是被坑咯~

 

一、定义回调函数

  1. 建立一个类,其中包括一个接口的变量
    private CallBack callBack;//接口的变量
  2. 建立一个接口的声明
    public interface CallBack{
       public void Out();//接口里面要实现的方法
    }
  3. 在类中与接口绑定(或者说获得接口的引用)
    public void setCallBack(CallBack callBack){
            this.callBack = callBack;
        }
        
        public void Out(){
            callBack.Out();
            System.out.println("这是CallerClass的输出");
        }
  4. 整个类
    public class CallerClass {
        
        private CallBack callBack;//接口的声明
        
        public CallerClass(){};
        
        public void setCallBack(CallBack callBack){
            this.callBack = callBack;
        }
        
        public void Out(){
            callBack.Out();
            System.out.println("这是CallerClass的输出");
        }
        
        public interface CallBack{
            public void Out();//接口里面要实现的方法
        }
        
    }
    View Code

相关文章:

  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-10
  • 2022-12-23
  • 2021-06-05
  • 2021-12-10
  • 2022-12-23
  • 2021-07-16
相关资源
相似解决方案