弹出对话框并返回活动

时间:2019-03-09 17:35:54

标签: android android-activity kotlin dialog

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

2 个答案:

答案 0 :(得分:1)

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

对于您而言,您可以通过使用runOnUiThread运行对话框代码来轻松地做到这一点。

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

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

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

答案 1 :(得分:0)

Can't create handler inside thread that has not called Looper.prepare()

这基本上意味着您在调用此代码时需要使用UI线程。 UI线程将需要用于显示对话框。

您可以这样做:

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