2012-02-24 3 views
1

В моем приложении, когда я нажимаю на кнопку, я показываю диалог. и когда я нажимаю «да» в этом диалоге, он дает мне незаконное исключение штата. Но я хочу вернуться на предыдущий экран. Если я нажимаю меню и щелкаю рядом, то он возвращается к предыдущему экрану. Ниже мой код:Нажатие кнопки «Назад» вызывает недопустимое исключение штата

public boolean keyDown(int keycode, int time) { 

     if (Keypad.KEY_ESCAPE == Keypad.key(keycode)) { 
      int result = Dialog.ask(Dialog.D_YES_NO, "Do you want to edit the list?"); 
      if (result == Dialog.YES) 
      { 
       try 
       { 
        UiApplication.getUiApplication().popScreen(this); 
       } 
       catch (Exception e) 
       { 
        e.printStackTrace(); 
       } 
//    onClose(); 
      } 
      else 
      { 
       return true; 
      } 
     } // end if 

     return false; 
    } 

Пожалуйста, помогите ..

ответ

2

При нажатии на кнопку назад в устройстве, то по умолчанию OnClose() вызывается метод. Итак, постарайтесь сделать так:

protected boolean onSavePrompt() 
{ 
    return true; 
} 
public boolean onClose() 
{ 
    int choose=Dialog.ask(Dialog.D_YES_NO, "Close the screen?"); 
    if(choose==Dialog.YES) 
    { 
     return super.onClose(); 
    } 
    return true; 
} 

Это лучший способ; Если вы используете, как описано выше, вы можете получить одну проблему; То есть:

Если вы используете этот метод в первом экране, а затем в соответствии с вашим кодом, когда всплывающее окно, то нет никакого экрана в стеке дисплея (Поскольку это первый экран); Таким образом, вы можете получить эту проблему;

Попробуйте это;

+0

Спасибо alishaik786..и решили .. –

+0

@Arindam Mukherjee: несколько раз, если вы хотите, чтобы внезапное требование приходило в эту комнату чата: http://chat.stackoverflow.com/rooms/4014/knowledge-sharing-center-for -blackberry-и-ява – alishaik786

Смежные вопросы