如何解决在Android中,从Internet提取数据期间使用ProgressDialog.show和ProgressDialog.hide问题
| 当我定义进度对话框功能时,例如 public static void showLoadingBar(Context context)
{
dialog=new ProgressDialog(context);
dialog.setMessage(\"Please wait\");
dialog.show();
}
public static void hideLoadingBar()
{
dialog.dismiss();
}
我想像下面这样使用它:
UiManager.getInstance().showLoadingBar(this);
FetchData();
UiManager.getInstance().hideLoadingBar();
但是,直到我评论了
UiManager.getInstance()。hideLoadingBar();这样的线
UiManager.getInstance().showLoadingBar(this);
FetchData();
//UiManager.getInstance().hideLoadingBar();
原因是,始终在屏幕上显示ProgressBar。无论如何,有没有摆脱这个问题?
解决方法
FetchData()
似乎是异步操作。因此,在实际操作完成之前,该函数将返回并隐藏加载栏。我建议您使用AsyncTask。
要在AsyncTask运行时显示进度对话框,可以在onPreExecute()
中调用show()
,在onPostExecute()
中调用hide()
。从doInBackground()
呼叫FetchData()
。这将在AsyncTask执行它的后台方法之前启动ProgressDialog,并在完成时停止ProgressDialog。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。