我在我的应用程序中使用 AsyncTask 来下载网址。我在 onPreExecute() 上使用 ProgressDialog 来等待。
但在进程完成时我看不到 ProgressDialog,我暂时看到了它。想在下载时看到它而不是下载后看到它。
谁能帮我。
谢谢
我的代码是这样的:
private class loadMoreListView extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
// Showing progress dialog before sending http request
pDialog = new ProgressDialog(SingleMenuItemActivity.this);
pDialog.setMessage("Please Wait ...");
pDialog.isIndeterminate();
pDialog.setCancelable(false);
pDialog.show();
}
protected Void doInBackground(Void... unused) {
runOnUiThread(new Runnable() {
public void run() {
// do something for downloading
}
});
return (null);
}
protected void onPostExecute(Void unused) {
// closing progress dialog
pDialog.dismiss();
}
}
runOnUiThread(new Runnable() {
public void run() {
// do something for downloading
}
// 在 runOnUiThread 内做一些下载操作,是错误的。 runOnUiThread 使“执行下载操作”在 UI 线程上运行,并且您的应用程序应该因 NetworkOnMainThreadException 崩溃,而您的应用程序运行在 Android 版本高于 GingerBread 的设备上。不同的是,它会阻塞 ui 线程,阻止他绘制进度条
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)