когда я нажимаю кнопку «Назад», отображается всплывающий экран с тремя кнопками сохранения, отмены и отмены. Я не хочу, чтобы этот экран всплывал. Это возможно.
заранее спасибо
когда я нажимаю кнопку «Назад», отображается всплывающий экран с тремя кнопками сохранения, отмены и отмены. Я не хочу, чтобы этот экран всплывал. Это возможно.
заранее спасибо
По умолчанию кнопка «Назад» сохраняет изменения для грязных экранов. Перепишите метод onClose (), чтобы заменить поведение по умолчанию.
public boolean onClose() {
int choice = Dialog.ask(Dialog.D_YES_NO, "¿Do you want to exit?", Dialog.YES);
if (choice == Dialog.YES) {
//write a close() routine to exit
close();
}
return true;
}
Вы возвращаете true, потому что вы управляли событием нажатия кнопки ESC. Просмотрите документацию по классу экрана.
Вы также можете изменить поведение кнопки ESC по умолчанию, переписав метод keyChar следующим образом:
protected boolean keyChar(char character, int status, int time) {
if (character == Keypad.KEY_ESCAPE) {
onClose();
return true;
}
return super.keyChar(character, status, time);
}
close () должен выглядеть так:
public void close() {
System.exit(0);
}
Переопределите метод onSavePrompt. Тогда этот экран не появится. На самом деле этот всплывающий экран появится только тогда, когда на вашем экране что-то изменится. Таким образом, он попросит вас выполнить соответствующее действие.
protected boolean onSavePrompt() {
return true;
}
Пропустить с ним запрос на сохранение
protected boolean onSavePrompt() {
return false;
}
Переопределите метод onClose()
следующим образом:
public boolean onClose() {
close();
return true;
}
вы не получите этого надоедливого предупреждающего сообщения.