【发布时间】:2016-11-24 22:58:56
【问题描述】:
我正在将我的 Android 应用程序迁移到 Retrofit 2.0。我有一个扩展 RetrofitError 的自定义 ErrorHandler,所以我可以对不同的 Http 错误做出反应。
现在我知道我必须创建一个自定义 CallAdapterFactory。我使用了ErrorHandlingCallAdapter 提供的样本here。
我生成的 CallAdapter 几乎是相同的代码,但如果需要我也可以发布我的代码。
发生的事情是,当我使用这个CallAdapterFactory 时,MainThread 上没有发生回调。我在尝试更新 UI 时收到 android.view.ViewRootImpl$CalledFromWrongThreadException(我总是需要这样做)。我也不想总是在我的回调中使用 runOnUIThread 包装我的代码。
我不知道这是否有帮助,但是当我在回调中记录 Thread.currentThread().getName() 时,它会返回 OkHttp。
【问题讨论】: