android - 对话框弹出并返回活动
问题描述
我是 Kotlin 的新手,我的第一个活动是登录,第二个活动是回收视图。recicle view的数据取自http3方法。对不起,我的英语不好。当我有代码 404 时如何显示 dialogPopUp 并返回上一个登录活动?
解决方案
如果您使用 enqueue 并且显示对话框是 UI 任务,则 OkHttp 回调将在后台线程上执行,因此它需要在 UI 线程上运行。
在您的情况下,您可以通过使用runOnUiThread
.
runOnUiThread {
dialogPopUp("Error parameters", mContext ).showDialog()
}
就像您在 else 块中所做的那样。您也可以通过使用在 UI 线程上创建的Handler来实现这一点。
更新:仔细查看您的代码,我意识到您正在fetchJson
使用该doAsync
函数在后台线程中运行。当您enqueue
在 a 上使用时,OkHttp.Call
您基本上是将其发送到后台线程上执行,因此无需使用doAsync
. 如果您删除,doAsync
则不再需要使用runOnUiThread
,因为回调将在 UI 线程上执行。
推荐阅读
- laravel - 是否可以从方法更改 vue 组件中道具的值
- python - 为什么这个 Python 字典 (Json) 返回语法错误?
- javascript - Discord.js:如何自动获取触发命令的频道ID?
- java - 如何在新绘制之前清除 Graphics/JPanel
- php - 如何将运费与产品实际价格相加?新的
- typescript - 打字稿:将标记的联合转换为联合类型
- azure - 在 ARM 中,如何在数组集合中包含可选的参数化对象?
- c++ - 使用 MSVC 调试类型
- sas - 使用不同类型的变量附加 sas 表(字符在基础上,数字在数据上)
- c# - ASP.NET Web Application Core - 如何根据角色将 AspNetUsers 中的数据操作到不同的表?