等待下载数据的模式
我想知道我应该如何解决一个问题。
当我启动活动时,我使用 AsyncTask
下载一些数据。
当用户选择菜单上的选项时,我使用缓存的数据。
如果他在数据仍在下载时选择选项怎么办? 在不阻塞 UI 的情况下等待数据的最佳方法是什么?
编辑:我不想更改菜单/禁用该选项。我想在等待数据完成下载时显示一个旋转器。
谢谢
I am wondering how I should solve one issue.
When I start an Activity, I download some data using an AsyncTask
.
When the user selects an option on the menu, I use the cached data.
What if he selects the options while data is still downloading?
What is the best way to wait for the data without blocking the UI?
edit: I don't want to change the menu/make the option disabled. I want to show a spinner while waiting for the data to finish its download.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
禁用/启用 onMenuOpened() 中的项目:
编辑 - 显示进度对话框:
完成后不要忘记
dialog.dismiss(
) 它。Disable/enable the items in the onMenuOpened() :
EDIT - showing a progress dialog:
Don't forget to
dialog.dismiss(
) it when you're done.当按下菜单选项时,您可以调用
AsyncTask.getStatus()
,如果它仍在运行,则显示 ProgressDialog。然后在
AsyncTask.onPostExeute()
中,您可以告诉 Activity 数据可用并关闭微调器。You can call
AsyncTask.getStatus()
when the menu option is pressed and if it is still running then display the ProgressDialog.Then in
AsyncTask.onPostExeute()
you can tell your Activity the data is available and dismiss the spinner.启动下载时运行不可取消的进度对话框,下载完成后关闭。阅读
ProgressDialog
类。Run an uncancellable progress dialog when the download is initiated, dismiss once the download is done. Read up on the
ProgressDialog
class.