我想点击黑莓手机应用程序中的后退按钮进入主屏幕。我在google和stackoverflow中搜索过这个,但我没有得到任何解决方案。任何人都可以为此提供帮助。
在我的开始屏幕中,我为这个后退按钮写了这样的内容。
protected boolean keyDown(int keycode, int time)
{
if (Keypad.key(keycode) == Keypad.KEY_ESCAPE)
{
close();
return true;
}
else
{
return super.keyDown(keycode, time);
}
}
在我的 HomeScreen 中,我这样写了。
protected boolean keyDown(int keycode, int time)
{
if (Keypad.key(keycode) == Keypad.KEY_ESCAPE)
{
UiApplication.getUiApplication().pushScreen(new StartingScreen());
return true;
}
else
{
return super.keyDown(keycode, time);
}
}
从我的应用程序HomeScreen我可以来到我的应用程序的启动屏幕。之后,当我从开始屏幕点击后退按钮时,我需要去黑莓主屏幕,这意味着我需要退出应用程序并从中走出来。我写了close();来到黑莓主屏幕。但它不起作用。它再次进入我的应用程序主屏幕。
答案 0 :(得分:5)
覆盖MainScreen子类中的keyDown方法。
protected boolean keyDown(int keycode, int time) {
int key = Keypad.key(keycode);
if(key==Characters.ESCAPE){
// do something here
return true;
}
return super.keyDown(keycode, time);
}
进入主屏幕
while(!(UiApplication.getUiApplication().getActiveScreen() instanceof HomeScreen)){
UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());
}
答案 1 :(得分:3)
我得到了解决方案......我已经写了这个。
public boolean onClose()
{
int choose=Dialog.ask(Dialog.D_YES_NO, "Are you sure Want to Exit?");
if(choose==Dialog.YES)
{
System.exit(0);
}
return true;
}
答案 2 :(得分:1)
试试这个 -
public class yourclass extends MainScreen{
public yourclass(){
}
}
public boolean onClose() {
Application.getApplication().invokeLater(new Runnable() {
public void run() {
//close this screen and push your home screen
}
});
return true;
}