ボタンを押したときにプログレスバーを表示したいので、次のコードを挿入しました。
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 にアクセスできる場所にいません。