0
私のAndroidアプリでは、いくつかのオプションを持つダイアログがありますが、その1つは現在のダイアログが再び表示されるはずです。showDialog(i)からshowDialog(i)を呼び出す方法は? (Android)
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
if (id == 0) {
builder.setMessage("Message 0")
.setPositiveButton("Show Message 0 Again", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
showDialog(0);
}
})
.setNegativeButton("Show Message 1", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
showDialog(1);
}
});
} else {
builder.setMessage("Message 1")
.setPositiveButton("Dismiss", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// nothing
}
});
}
AlertDialog dialog = builder.create();
return dialog;
}
は、しかし、私は「再び表示メッセージ0」のボタンをクリックすると、ダイアログが却下されると、再び表示されません。
は、それはこのようなものです。 「メッセージ1を表示」ボタンが正常に機能します。
"メッセージを表示する0"ボタンを何もしないだけでなく、ダイアログが消えないようにするのではなく、実際にはダイアログを閉じてから再度開くことをお勧めします。ここで
この特定のケースでは、 'AlertDialog.Builder builder = new AlertDialog.Builder(this);'を置き換える必要があります。 '最後のAlertDialog.Builderビルダー=新しいAlertDialog.Builder(これ);'と 'showDialog(0);' 'builder.create()。show();'を使用してください。 – BenH