我的活動中有一個方法用於下載一組文件。此下載是在我開始新活動時發生的。我使用線程,因爲它完全下載,而AsyncTask有時可能無法下載所有文件,它可能會卡在中間。在android中運行線程時顯示和解除進程對話框
現在,下載時會顯示黑屏。我想在ProgressDialog中顯示它,以便用戶可能會覺得某些內容正在下載。
我已經添加了ProgressDialog,但沒有顯示。誰能告訴我哪裏出錯了?
下面是我的代碼:
裏面onCreate()
我已經寫:
downloadFiles();
private boolean downloadFiles() {
showProgressDialog();
for(int i = 0; i < filesList.size();i++) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
//downloading code
});
thread.start();
thread.run();
}
dismissProgressDialog();
return true;
}
//ProgressDialog progressDialog; I have declared earlier.
private void showProgressDialog() {
progressDialog = new ProgressDialog(N12ReadScreenActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setMessage("Downloading files...");
progressDialog.show();
}
private void dismissProgressDialog() {
if(progressDialog != null)
progressDialog.dismiss();
}
也許這不會解決問題,但你爲什麼叫線程。跑()?你可以調用thread.start()並創建線程。我一直在使用AsyncTask來下載多個文件,從來沒有任何使用它的問題,更新UI線程也不是一件困難的事情。 – Egor