最近项目中有几处用到了回调函数,感觉比自己原先一次次的传递参数,判断值方便很多。
对于回调函数的基本理解:A调用B的某个函数,B又在某个时候调用A的另一个函数,这是对A的回调
public class A {
MyCallback mc;
public void setMc(MyCallback mc) {//B实现了此接口
this.mc = mc;
}
public void call(){
this.mc.method();
}
}
public class B implements MyCallback {
@Override
public void method() {
// TODO Auto-generated method stub
System.out.println("B的回调method");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A();
a.setMc(new B());//调用A的方法,注册回调函数
a.call();//调用A的函数
}
}
public interface MyCallback {
public void method();
}
回调函数使用:
在Android中使用了Fragment,在Fragment之间跳转的时候需要向Fragment所在的Activity传递参数,并由Activity进行切换,首先Activity实现一个接口,接口中有setState方法,在Activity中实现,在Fragment中在attach的时候,实例化接口,使用接口的setState()方法传递数据到activity,在activity中接收数据进行处理。虽然不是一个完整的回调,但感觉到很有用。