android asynctask导致另一个活动

问题描述 投票:0回答:1

我有一个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。但我认为,这不是一个正确的方法。那么,正确的方法是什么?谢谢

android android-activity android-asynctask
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.