我的应用程序有微调器,在这个微调器中我有数据库中的数据。
我使用async task
从数据库中获取数据,并在onPostExecute
方法中向spinner添加此数据。
我的主要问题是,当我运行app时,我的微调器数据不可用,因为异步任务还没有完成。
我的问题是,在运行我的应用程序之前,我必须要做的是数据库中的数据是否处于微调状态?
答案 0 :(得分:1)
创建一个覆盖微调器的布局,显示加载消息,并在asynctask的post execute方法中将此布局可见性设置为GONE
或者在主活动中加载数据,并在任务完成时启动微调器活动
答案 1 :(得分:0)
实际上,加载像微调器数据这样的简单数据非常快(通常为100,200毫秒)。然后你不必在打开应用程序之前加载数据。也许你的问题是使用AsyncTask
做了太多事情。 AsyncTask
在一个队列中运行,一个接一个地完成。所以,我的建议是使用Thread
将微调器数据加载为:
new LoadingSpinnerDataThread().start(); // it's better if you can use RxAndroid.