小编典典
回调的概念是在另一个类中完成某些工作时通知类同步/异步。有人称其为好莱坞原则:“不要叫我们,我们叫你”。
这是一个例子:
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中的方法。
2020-12-01