проблема с кнопкой назад

когда я нажимаю кнопку «Назад», отображается всплывающий экран с тремя кнопками сохранения, отмены и отмены. Я не хочу, чтобы этот экран всплывал. Это возможно.

заранее спасибо


person rupesh    schedule 10.05.2010    source источник
comment
stackoverflow.com/questions/ 2461403 /   -  person Vivart    schedule 10.05.2010


Ответы (4)


По умолчанию кнопка «Назад» сохраняет изменения для грязных экранов. Перепишите метод 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);
}
person timoto    schedule 11.05.2010

Переопределите метод onSavePrompt. Тогда этот экран не появится. На самом деле этот всплывающий экран появится только тогда, когда на вашем экране что-то изменится. Таким образом, он попросит вас выполнить соответствующее действие.

    protected boolean onSavePrompt() {

    return true;

    }
person Nsr    schedule 04.04.2012

Пропустить с ним запрос на сохранение

protected boolean onSavePrompt() {
    return false;
}
person Alex    schedule 25.01.2012

Переопределите метод onClose() следующим образом:

public boolean onClose() {
    close();
    return true;
}

вы не получите этого надоедливого предупреждающего сообщения.

person Soubhab Pathak    schedule 21.03.2011