参考
回调函数,就是回头再调用的函数
Android回调函数机制那点事
所谓回调函数,或者在面向对象语言里叫回调方法,简单点讲,就是回头在某个时间(事件发生)被调用的函数。在python和javascript里,可以直接把函数当对象传参,这些语言都很好实现回调函数(方法) 。在java中,回调方法是用借用接口来实现的。
为什么要用回调
我们都知道Java是一门面向对象的语言,有一句很著名的话就是”万事万物皆为对象”,我们把普通事物的共性抽取出来,而这些共性之中又充斥着特性,每个不同的特性就需要交给特定的情况处理,通过暴露接口方法可以减少很多重复,代码更加优雅。
打个比方,Button、ImageButton等都具有可被点击的共性,但是被点击之后相关事件的处理是不同的,比如说我想我要点击的这个Button弹出一个消息提示,然而我希望我的ImageButton点击之后可以弹出一个Notifaction通知,这个时候回调方法的好处就体现出来了,因为android对外暴露的OnClickListener()接口中含有一个OnClick()方法,你需要怎样的具体实现都由你自己定义,而这个回调方法的所在类View不会管你怎么实现的,它只负责调用这个回调方法,这就是使用回调的好处。