Android中的回调是什么?

哈马德·沙希德(Hammad Shahid):

我想了解回调的概念。我在互联网上搜索了有关回调的信息,有很多使用接口的示例,一个类正在使用该接口调用另一类的方法。但是我仍然不能理解回调的主要概念,使用回调的目的是什么?

史蒂夫·贝内特(Steve Benett):

这是一个不错的教程很好地描述了回调和用例。

回调的概念是在另一个类中完成某些工作时通知类同步/异步。有人称其为好莱坞原则:“不要叫我们,我们叫你”。

这是一个例子:

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中的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java中的回调接口是什么?

Kotlin 中的回调是什么?

libevent 中延迟回调的目的是什么?

回调&& callback()在JavaScript中是什么意思

Facebook Webhook页面订阅中的回调URL是什么?

Spring JMS中的JmsTemplate回调是什么?

在回调中处理异常的正确方法是什么?

jQuery中首先出现的.always()或.then()回调是什么?

requestAnimationFrame回调中的参数到底是什么?

Chainlink Consumer合同中回调地址的用途是什么?

Android中的回调

品牌回调网址的签名是什么?

done()回调的意义是什么?

组织回调的首选方式是什么?

ReactTransitionGroup挂钩中的回调是什么?

回调是什么意思?

什么是Java中的回调

JavaScript中的forEach回调函数中的第三个参数的含义是什么

JavaScript - ipfs.add() 回调响应中数组中的第二项是什么?

是什么导致我的 AlertDialog 在 Firebase 回调方法中泄漏?

Typescript过滤器中的回调函数的类型是什么?

在Kotlin中回调的更好方法是什么?侦听器与高阶函数

在常规回调中调用异步代码的正确方法是什么?

Java中的回调方法是什么?(该术语似乎被宽松地使用)

调用Phonegap / Cordova`transaction`方法时,“ tx”在回调函数中是什么意思?

pycaffe中的求解器回调函数是什么,如何使用它们?

Json.NET序列化回调中StreamingContext参数的用途是什么?

从回调列表中删除侦听器的最优雅方法是什么

ObservableOnSubscribe 回调中侦听器的生命周期是什么 - Rxjava