你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完毕。
------------------------------------------------------------------------------
Android中的控件响应就是利用了回调方法。话不多说,直接上代码。
回调方法的接口:
- public interface ICallBack {
- // 回调方法
- public void callBackMethod();
- }
回调方法的实现类(监听类):
- /**
- * 监听类
- * @author zuolongsnail
- */
- public class CallBackListener implements ICallBack {
- @Override
- public void callBackMethod() {
- System.out.println("回调");
- }
- }
回调方法的调用类:
- /**
- * 调用类
- * @author zuolongsnail
- */
- public class Caller {
- private ICallBack callBack;
- public void setCallBack(ICallBack callBack){
- this.callBack = callBack;
- }
- public void call(){
- this.callBack.callBackMethod();
- }
- }
业务处理类:
- /**
- * 业务处理类
- * @author zuolongsnail
- */
- public class Main {
- public static void main(String[] args) {
- Caller caller = new Caller();
- caller.setCallBack(new CallBackListener());
- // 在业务处理的时候调用
- caller.call();
- }
- }
熟悉Android中Button点击事件处理的同学应该都知道跟上面是一样的。
ICallBack------->OnClickListener接口
CallBackListener--------->实现OnClickListener接口的类
Caller-------->Button对象
Main-------->业务处理类(Activity)