android - 当未完成的请求完成时,我如何询问 Robospice?

标签 android network-programming android-activity robospice

我正在使用 Robospice。我想编写一些可重用代码,以便在为当前 Activity 清除未决网络请求后立即停止 ProgressBars 和 ProgressDialogs。但是,我遇到了几个问题。

我通过检测自定义 SpiceServiceListener 调用我在每个 Activity 中实现的自定义回调来观察请求何时完成。在 onRequestAdded() 期间,我显示任何 Progress UI 元素。在 onRequestSucceeded()、onRequestFailed() 和 onRequestCancelled() 期间,我检查 getSpiceManager().getPendingRequestCount() 以查看它是否达到零,然后隐藏任何 Progress UI 元素。

在我的应用程序中,挂起的请求计数从未达到零(至少在这三种方法中),但它似乎停在了一个。这是真的,尽管我可以从 Retrofit 日志中看到我的请求似乎都已完成。

挂起的请求计数是全局的还是特定于当前 Activity 及其 spice 管理器实例?有没有更好的方法来监视当前 Activity 中完成的所有请求?

最佳答案

我有一个答案。我错过了对 onRequestProcessed() 的检测,因此未决网络请求的数量似乎从未达到零。待处理的请求计数现在确实达到零。

我仍然不知道计数对于当前 Activity 及其 SpiceManager 实例是全局的还是局部的,但我从我的新代码中获得了有用的结果。

关于android - 当未完成的请求完成时,我如何询问 Robospice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761071/

相关文章:

android - 如何立即开始执行 Kotlin Coroutine

android - Robolectric:从 Assets 创建时,字体对象都是相同的

docker - Docker Flask服务器容器无法通过主机访问

c - 当我运行原始套接字程序时,它会生成无效参数错误

android - 允许在 onPause() 之前或期间显示对话框?

android - GoogleApiClient 的 enableAutoManage() 需要一个 fragment Activity ,但我有一个 Activity

android - 在 AsyncTask 中将对象作为参数传递

android - 警告 : API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'

network-programming - 编写新的 Linux 设备驱动程序

java - Android createChooser出现在Activity前面