2011-02-26 10 views
2

私のアプリでは、別のメインスクリーンからメインスクリーンを開きたいと思います。これどうやってするの?別のメインスクリーンからメインスクリーンを開く

UiApplicationからpushScreen(Screen)を使用してメイン画面に移動できます。私は104

+0

JVMエラー104は、デバイス、またはシミュレータ上で起こっているのでしょうか?また、2番目の画面がUIスタックにプッシュされる原因となったイベントを説明することもできます。 –

+0

UiAppicationから1つのMainScreen(ログイン画面)を表示しています。検証の後、別のMainScreenに行く必要があります。このアプリは複数の画面を持っています。ある画面から別の画面に移動するにはどうしたらいいですか? – jfalexvijay

+0

私は次のようなクラスを作成しました。 publicクラスSecondScreenはMainScreen {を継承しています。 。 。 。 。 。 } – jfalexvijay

答えて

3

JVMエラーを取得MainScreenから同じことをしようとすると、しかし、それでは、あなたはScreen2には、MainScreenを拡張するとしましょう。


Screen2 s2 = new Screen2(); 
UiApplication.getUIApplication.pushScreen(s2); 

上記のコードは、メインUIイベントスレッド内から実行されなければならないことに留意されたいです。 UIイベントに応じて画面を表示している場合、これがデフォルトです。しかし、あなたがバックグラウンドスレッドから画面をプッシュしている場合は、次のように、あなたはイベントスレッドにマーシャリングに電話をする必要があります:

UiApplication.getUiApplication().invokeLater(new Runnable() { 
    public void run() { 
    Screen2 s2 = new Screen2(); 
    UiApplication.getUIApplication.pushScreen(s2); 
    } 
}); 
+0

私はあなたのサンプルコードでテストしましたが、それはいくつかの問題で動作します。 「UiApplication.getUiApplication.pushScreen(Screen);」を使用すると、最初の画面が表示されません。最後の画面を表示しています。これを解決するために私を助けてください。 – jfalexvijay

+0

申し訳ありませんが、私は今まであなたの返信を逃しました。私が上で行ったことは、第2のスクリーン(スクリーン2)を示すだろう。すでにScreen2を表示していてScreen1(最初の画面)に戻る場合は、UiApplication.getUiApplication.popScreen(s1)を使用できます。これもUIスレッドで行う必要があります。そのため、UIイベントではない場合は、上記と同じ方法でラップする必要があります。これは役に立ちますか? –

+0

私の最初のコメントを確認してください。私はいくつかの問題を抱えています。それを解決するのを手伝ってください。 – jfalexvijay

4
Ui.getUiEngine().pushScreen(Screen); 
+0

こんにちは、私はUi.getUiEngine()。pushScreen(screen);で試してみました。しかし、私は次のエラーが発生しています。 (JVMエラー104)。それを解決する方法。 – jfalexvijay

関連する問題