关于回调函数的懂得

关于回调函数的理解

最近项目中有几处用到了回调函数,感觉比自己原先一次次的传递参数,判断值方便很多。

对于回调函数的基本理解: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中接收数据进行处理。虽然不是一个完整的回调,但感觉到很有用。