0

ボタンを押したときにプログレスバーを表示したいので、次のコードを挿入しました。

progDailog = ProgressDialog.show(this, "データをダウンロードしています", "お待ちください....", true);

しかし、progressDialog はまったく表示されません。なんで?それを示すには、さらに何をする必要がありますか?

/M

4

1 に答える 1

3

作業の実行中にプログレス バーを表示する場合は、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 にアクセスできる場所にいません。

于 2010-06-28T13:04:38.757 に答える