【发布时间】:2018-06-05 12:27:15
【问题描述】:
我有一个 Activity A 和一个 AsyncTask,它们进行一些计算并将数据存储到数据库中。这些操作大约需要 3-5 秒。在按下“保存”按钮并启动新的 Activity B 后调用 AsyncTask(此 Activity B 并不重要)。还有Activity C,它加载我从Activity A 和AsyncTask 中存储的数据。这是我的问题 - 如果我启动 Activity C 并且 AsyncTask 仍然没有完成存储数据,我想显示加载动画,直到 AsyncTask 完成并且可以在 Activity 中加载数据。
我有一个愿景,即 onPostExecute 方法中的 AsyncTask 将更改全局变量“boolean finished = true”,并且在启动 Activity C 后,我将定期检查变量是否为真。但我认为,这不是正确的方法。 那么,正确的方法是什么? 谢谢
【问题讨论】:
-
为什么不在
onPostExecute本身中启动活动C?? -
@Xenolion 因为用户可能还不想显示活动 C
-
然后显示一个对话框并在执行后声明一个全局
booleanisFinished= false,将变量更改为true。如果用户点击去C,首先检查isFinished = true是否显示一个toast告诉用户等待!
标签: android android-activity android-asynctask