4

次のコードを使用してProgressDialogを作成しています(アクティビティ内):

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
        case DIALOG_LOOKUP:
            return new ProgressDialog(this, ProgressDialog.STYLE_SPINNER);
    }
    return null;
}

@Override
protected void onPrepareDialog(int id, Dialog dialog) {
    switch (id) {
        case DIALOG_LOOKUP:
            dialog.setCancelable(true);
            dialog.setTitle(R.string.dialogLookup_title);
            ((ProgressDialog)dialog).setMessage(getResources().getString(R.string.dialogLookup_message));
            dialog.setOnCancelListener(new OnCancelListener() {
                @Override
                public void onCancel(DialogInterface dialog) {
                    Toast.makeText(MyActivity.this, "canceled", Toast.LENGTH_SHORT).show();
                }
            });
            break;
    }
}

問題は、実際にはタイトルを設定しておらず、奇妙なダブルボックスに入れていることです。

それは私にこれを与えています:

悪い進歩

しかし、私はこのようなものを期待しています:

良い進歩

何か案は?

4

1 に答える 1

6

サンプルを試したところ、奇妙なダブルボックスの問題が修正されたProgressDialog.STYLE_SPINNERようです。ProgressDialog.STYLE_HORIZONTAL

また、タイトルとテキストも表示されます。

編集:

コンストラクターProgressDialog.STYLE_SPINNERを渡します。ProgressDialog

ドキュメントから、2番目の引数はテーマIDです。

ProgressDialogオブジェクトを作成し、を使用setProgressStyleする必要がありますProgressDialog.STYLE_SPINNER

case DIALOG_LOOKUP:
     ProgressDialog pdlg = new ProgressDialog(this);
     pdlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);
     return pdlg;
于 2010-02-04T00:20:01.213 に答える