回调的概念是在另一个类中完成某些工作时通知类同步/异步。有人称其为好莱坞原则:“不要叫我们,我们叫你”。
这是一个例子:
class A implements ICallback { MyObject o; B b = new B(this, someParameter); @Override public void callback(MyObject o){this.o = o; }}class B { ICallback ic; B(ICallback ic, someParameter){ this.ic = ic; } new Thread(new Runnable(){ public void run(){ // some calculation ic.callback(myObject) } }).start(); }interface ICallback{ public void callback(MyObject o);}A类调用B类以在线程中完成一些工作。如果线程完成了工作,它将通过回调通知Class A并提供结果。因此,无需轮询或其他任何操作。只要有结果,您就会得到结果。
在Android中,在活动和片段之间使用回调。因为片段应该是模块化的,所以您可以在Fragment中定义一个回调以调用Activity中的方法。



