我正在构建一个Android应用程序。它解析存储在DB中的提要。应用程序的每个活动都可以从数据库中获取此数据。
每个活动也可以调用服务,并使其刷新数据。完成后我想显示一个加载器。在下载服务时,用户仍然可以在活动之间自由导航。我的问题是;如何显示在用户导航到的所有活动中运行的加载程序?
非常感谢:)
答案 0 :(得分:0)
这是我想要做的事情,因为这对我来说似乎是一个不寻常的任务:
我会尝试设置一个包含进度指示器的半透明PopupWindow。每当需要指示加载进度时,我会触发/关闭此弹出窗口是否显示...
答案 1 :(得分:0)
您可以尝试以下方式:
onPreExecute()
以准备全局加载程序(例如,如果服务已下载一段时间,则将其状态设置为当前级别)onProgressUpdate()
并通过询问服务当前状态(负载百分比等)来使用它来更新全局加载器的状态在doInBackground
中实施:
while( service.isLoading() ) {
publishProgress( service.getLoadPercentage() )
// Maybe add a Thread.sleep() here.
}
onPostExecute
以将全局加载程序的可见性设置为View.GONE。如果用户在加载尚未完成时切换活动,您可能需要实现一种杀死AsyncTask的方法。