首页 > 解决方案 > 对话框弹出并返回活动

问题描述

我是 Kotlin 的新手,我的第一个活动是登录,第二个活动是回收视图。recicle view的数据取自http3方法。对不起,我的英语不好。当我有代码 404 时如何显示 dialogPopUp 并返回上一个登录活动?

标签: androidandroid-activitykotlindialog

解决方案


如果您使用 enqueue 并且显示对话框是 UI 任务,则 OkHttp 回调将在后台线程上执行,因此它需要在 UI 线程上运行。

在您的情况下,您可以通过使用runOnUiThread.

runOnUiThread {
    dialogPopUp("Error parameters", mContext ).showDialog()
}

就像您在 else 块中所做的那样。您也可以通过使用在 UI 线程上创建的Handler来实现这一点。

更新:仔细查看您的代码,我意识到您正在fetchJson使用该doAsync函数在后台线程中运行。当您enqueue在 a 上使用时,OkHttp.Call您基本上是将其发送到后台线程上执行,因此无需使用doAsync. 如果您删除,doAsync则不再需要使用runOnUiThread,因为回调将在 UI 线程上执行。


推荐阅读