В моем приложении для 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 снова», просто ничего не делать и не вызывать закрытие диалога, если это возможно.