关于回调函数的懂得
关于回调函数的理解
最近项目中有几处用到了回调函数,感觉比自己原先一次次的传递参数,判断值方便很多。
对于回调函数的基本理解: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中接收数据进行处理。虽然不是一个完整的回调,但感觉到很有用。