2

ブラックベリーのアプリケーションから戻るボタンをクリックすると、ホーム画面に戻りたいです。これを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);
        } 
    }

私のホームスクリーンでは、このように書きました。

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(); と書きました。ブラックベリーのホーム画面に来ます。しかし、それは機能していません。それは再び私のアプリケーションのホームスクリーンに来ています。

4

3 に答える 3

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());
}
于 2012-06-04T11:42:39.160 に答える
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;
    }
于 2012-06-06T06:08:50.880 に答える
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;
    }
于 2012-06-04T11:42:19.927 に答える