Как вызвать showDialog (i) из showDialog (i)?(Android) - PullRequest
0 голосов
/ 11 марта 2012

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

1 Ответ

3 голосов
/ 11 марта 2012

Вот обсуждение: Dialog.show () против Activity.showDialog ()

Пожалуйста, посмотрите на это ...

надеется, что это поможет. :)

...