如何在Android中定义回调?

如何在Android中定义回调?

在最近的GoogleIO中,有一个关于实现RESTful客户端应用程序的演示。不幸的是,这只是一次高层讨论,没有实现的源代码。

在这个图表中,在返回路径上有对其他方法的各种不同的回调。


我如何声明这些方法是什么?

我理解回调的概念-一段在某个事件发生后被调用的代码,但我不知道如何实现它。到目前为止,我实现回调的唯一方法是覆盖各种方法(例如onActivityResult)。

我觉得我对设计模式有了基本的理解,但是在如何处理返回路径的问题上,我总是会被绊倒。


慕村225694
浏览 339回答 3
3回答

紫衣仙女

在许多情况下,您有一个接口并传递一个实现它的对象。例如,对话框有OnClickListener。就像一个随机的例子:// The callback interfaceinterface MyCallback {     void callbackCall();}// The class that takes the callbackclass Worker {    MyCallback callback;    void onEvent() {       callback.callbackCall();    }}// Option 1:class Callback implements MyCallback {    void callbackCall() {       // callback code goes here    }}worker.callback = new Callback();// Option 2:worker.callback = new MyCallback() {    void callbackCall() {       // callback code goes here    }};我可能把选项2的语法搞砸了,太早了。

慕森王

如果可以使用现有接口,则无需定义新接口:android.os.Handler.Callback..传递一个类型为回调的对象,并调用回调的handleMessage(Message msg).
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android