android asynctask导致另一个活动

时间:2017-12-22 23:32:58

标签: android android-activity android-asynctask

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

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

1 个答案:

答案 0 :(得分:0)

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

onPostExecute的{​​{1}}中,您可以广播该特定事件。当活动C收到该事件时,它可以简单地重新检查现在结果的数据库。