Я уверен, что это фундаментальный вопрос, но мои исследования ничего полезного не дают.Мое новое приложение должно использовать диалог Да / Нет при некоторых обстоятельствах, и я не понимаю, как диалоги вписываются в жизненный цикл приложения.Например, я хотел бы создать метод для поддержки этого типа конструкции:
if (yesNoAlert("Title", "Do you want to try again?") == true) {
action1();
} else {
action2();
}
Метод будет выглядеть примерно так:
private boolean yesNoAlert(String title, String message) {
final boolean returnValue;
DialogInterface.OnClickListener dialogClickListener = new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
returnValue = true;
break;
case DialogInterface.BUTTON_NEGATIVE:
returnValue=false;
break;
}
}
};
alertbox = new AlertDialog.Builder(this);
alertbox.setMessage(message)
.setTitle(title)
.setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener)
.show();
}
... но как вы можетевидите, это не закончено - есть ряд вещей, которые не совсем правильны.Часть, которую я пропускаю, это как узнать, что диалог закончен ... какой метод существует, который можно использовать, чтобы приложение могло понять, что кнопка была нажата?Конечно, на это реагируют действия BUTTON_POSITIVE и BUTTON_NEGATIVE, но мой вопрос заключается в том, как вернуть с индикатором, чтобы код, ожидающий ответа, снова поднялся в action1 () или action2 ()В зависимости от ответа.
В настоящее время я не вижу ни способа, чтобы мое приложение могло это определить, ни даже действительного способа сделать метод / функцию из этого кода.поэтому я пропускаю какую-то жизненно важную часть жизненного цикла.
Где я мог бы прочитать об этом?Конечно, в интернете есть много информации об этом, но для меня, как относительного новичка, это похоже на попытку пить из пожарного рукава.