我有一个活动A 和一个AsyncTask,它执行一些计算并将数据存储到数据库中。这些操作大约需要3-5秒。按下“保存”按钮后调用AsyncTask,新的活动B启动(此活动B不重要)。还有 Activity C ,它加载我从Activity A和AsyncTask存储的数据。这是我的问题 - 如果我启动Activity C并且AsyncTask仍然没有完成存储数据,我想显示加载动画,直到AsyncTask完成并且数据可以在活动中加载。
我有一个愿景,即方法onPostExecute中的AsyncTask将更改全局变量“boolean finished = true”,并且在启动Activity C之后,我将定期检查,如果变量为true。但我认为,这不是一个正确的方法。 那么,正确的方法是什么? 谢谢
答案 0 :(得分:0)
您可以在活动C中执行的操作是检查onResume
中的数据库是否已存在您的预期结果。如果它在那里,只需显示您的结果。如果没有显示您的加载图标并注册一个侦听特定事件的广播接收器。
在onPostExecute
的{{1}}中,您可以广播该特定事件。当活动C收到该事件时,它可以简单地重新检查现在结果的数据库。