【发布时间】:2010-06-28 21:26:39
【问题描述】:
当我按下按钮时,我希望显示一个进度条,因此我插入了以下代码:
progDailog = ProgressDialog.show(this, "正在下载数据", "请稍候....", true);
但是progressDialog 根本没有显示。为什么?我还需要做些什么来展示它?
/M
【问题讨论】:
当我按下按钮时,我希望显示一个进度条,因此我插入了以下代码:
progDailog = ProgressDialog.show(this, "正在下载数据", "请稍候....", true);
但是progressDialog 根本没有显示。为什么?我还需要做些什么来展示它?
/M
【问题讨论】:
如果您希望在执行某些工作时显示进度条,则需要为该任务使用另一个线程,这样它就不会阻塞 UI。这就是这个问题的“为什么”;进度对话框被数据下载阻止,因此无法显示。
我会选择来自Android API 的AsyncTask。
以下是调用 Activity 的子类:
private class myTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog progDialog;
onPreExecute() {
progDailog = ProgressDialog.show(this, "Downloading data", "please wait....", true);
}
doInBackground(Void... params) {
// Here's where the work should happen
}
onPostExecute(Void result) {
// Close the dialog, pass results back, whatever...
}
}
请原谅任何代码错误 - 我无法访问 SDK。
【讨论】: