У меня есть активность, которая содержит несколько редактируемых пользователем элементов (поле EditText, RatingBar и т.д.). Я хотел бы вызвать пользователя, если нажата кнопка "Назад/Дом", и были внесены изменения, которые еще не были сохранены. После прочтения документации по андроиде, похоже, этот кусок кода должен идти в методе onPause. Я попытался помещать AlertDialog в onPause, но диалог отображается, а затем сразу же срывается, потому что ничего не происходит, чтобы заблокировать паузу.
Это то, что я придумал до сих пор:
@Override
protected void onPause() {
super.onPause();
AlertDialog ad = new AlertDialog.Builder(this).setMessage(
R.string.rating_exit_message).setTitle(
R.string.rating_exit_title).setCancelable(false)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// User selects OK, save changes to db
}
}).setNeutralButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
// User selects Cancel, discard all changes
}
}).show();
}
Я нахожусь на правильном пути или есть другой способ выполнить то, что я пытаюсь сделать здесь? Любая помощь будет замечательной!