シンプルな単一選択項目でダイアログを作成したい。デフォルトでは、アイテムは選択されていません。OKボタンとキャンセルボタンだけが欲しい。項目が選択されるまで、[OK] ボタンは無効のままにする必要があります。これを行う組み込みの方法はありますか、それとも独自のカスタム ダイアログを作成する必要がありますか? これは現在私が持っているものです:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(getString(R.string.lbl_MarkReviewAs))
.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
selectedReviewStatusIndex = item;
AlertDialog alertDialog = (AlertDialog)dialog;
alertDialog.getButton(0).setEnabled(true);
}
})
.setPositiveButton(getString(R.string.lbl_ButtonOK), new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.dismiss();
}
})
.setNegativeButton(getString(R.string.lbl_ButtonCancel), new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
dialog.show();
ここでの問題は、dialog.getButton(AlertDialog.BUTTON_POSITIVE) が null を返すことです。では、どうすればポジティブボタンにアクセスできますか?