android asynctask导致另一个活动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android asynctask导致另一个活动相关的知识,希望对你有一定的参考价值。

我有一个Activity A和一个AsyncTask,它执行一些计算并将数据存储到数据库中。这些操作大约需要3-5秒。按下“保存”按钮后调用AsyncTask,新的活动B启动(此活动B不重要)。还有Activity C,它加载我从Activity A和AsyncTask存储的数据。这是我的问题 - 如果我启动Activity C并且AsyncTask仍然没有完成存储数据,我想显示加载动画,直到AsyncTask完成并且数据可以在活动中加载。

我有一个愿景,即方法onPostExecute中的AsyncTask将更改全局变量“boolean finished = true”,并且在启动Activity C之后,我将定期检查,如果变量为true。但我认为,这不是一个正确的方法。那么,正确的方法是什么?谢谢

答案

您可以在活动C中执行的操作是检查onResume中的数据库是否已存在预期结果。如果它在那里,只需显示您的结果。如果没有显示您的加载图标并注册侦听特定事件的广播接收器。

onPostExecuteAsyncTask,您可以播放该特定事件。当活动C收到该事件时,它可以简单地重新检查数据库现在的结果。

以上是关于android asynctask导致另一个活动的主要内容,如果未能解决你的问题,请参考以下文章

android 从扩展 AsyncTask 创建一个对象并将其发送到另一个活动

使用 AsyncTask 中的 onPostExecute 方法列表项单击事件调用 Android 中的另一个活动

Android:AsyncTask 需要一个上下文来在离开包含活动后显示警报

android:如果一个 AsyncTask 已经在运行,则阻止另一个 AsyncTask 执行

停止 AsyncTask 会导致服务结束

当 AsyncTask 中的 catch() 抛出错误时转到另一个活动