BlackberryアプリケーションでpopupScreenを閉じることができません

私はユーザーがログインするためのポップアップ画面を使用するブラックベリーアプリをやっています。 ログインに成功した場合は、アプリケーションを終了し、スレッドをバックグラウンドで処理する必要があります。残念ながら、ポップアップ画面は正常なログインがメイン画面をブロックしても表示されますが、バックグラウンドスレッドは正常に動作します。

これについてのアイデアは?

追加されたコメントからのコード:

close();
signInButtonClicked(phoneNumber, pinNumber);
synchronized (UiApplication.getEventLock()) {
    UiApplication.getUiApplication().popScreen(getScreenBelow());
}

これは私のコードです

btnOk.setChangeListener(new FieldChangeListener() {

public void fieldChanged(Field field, int context) 
{
   //TODO Auto-generated method stub
    try
    {
        if(field == btnOk)
        {
            phoneNumber = efPhoneNumber.getText().toString();
            System.out.println("User Entered Mobile Number: " + phoneNumber);
            pinNumber = efPinNumber.getText().toString();
            System.out.println("User Entered PIN Number: " + pinNumber);

        testClass lvg = new testClass();

        if(!lvg.TableExists())
        {
            lvg.CreateTable();
            lvg.InsertMobileNumber(phoneNumber);
        }
        else 
        {
            String mobile = lvg.getMobileNumber();
            if(!mobile.equals(phoneNumber))
            {
                lvg.UpdateMobileNumber(phoneNumber);
            }
        }               

        System.out.println("We should close");


        signInButtonClicked(phoneNumber, pinNumber);

        net.rim.device.api.ui.Screen scr = UiApplication.getUiApplication().getActiveScreen();

        if (scr instanceof LiveGuardScreen) 
        {
            synchronized (UiApplication.getEventLock()) 
            {
                UiApplication.getUiApplication().popScreen(scr);
            }
        }
    }
}catch (Exception e) {
   //TODO: handle exception
    e.printStackTrace();
    }
}
});
2
あなたはこれまでに何を試みましたか?あなたはあなたの要件を投稿しました。上記の課題を達成するためにこれまでに試したことを教えてください。あなたが試したコードを思い出さない限り、あなたの質問は未回答のままです
追加された 著者 Bala.C,
閉じる(); signInButtonClicked(phoneNumber、pinNumber); synchronized(UiApplication.getEventLock()){UiApplication.getUiApplication()。popScreen(getScreenBel‌ ow()); }
追加された 著者 roses_r,

2 答え

申し訳ありませんが、あなたのコードから頭や尾を抜かすことはできません。私たちはもっと私たちに与えなければならないと思う。行間を読んで、ログインがうまくいかない場合は、ポップアップを表示させようとしているようです。より効果的なテクニックは、毎回ポップアップを取り、ログインがうまくいかなかった場合にバックアップを取って、何が起こったかについてのメッセージをユーザに伝えることです。

ポップアップダイアログからテキストを取得するブログ記事がありますをご覧ください。そうでなければ、私たちにもっと働きかける必要があります。

0
追加された
こんにちはリチャード私はコードを入力しました...しかし、私はこの上でフォーマットすると無知です。
追加された 著者 roses_r,

助けてくれてありがとう、私はそれを整理しました。私がしたことは、popupScreenを表示した場所で、ポップアップ画面を閉じることができるイベントを送りました。なぜなら、MainScreenでpopupScreenが呼び出されたため、私が実行していた呼び出しメソッドを呼び出す前のやり方だったからです。だから私はそれを正しく閉じたとしても、次のことを何度か開いていました。

私はこれが理にかなってほしい。それは私のために働いても、それをやるより良い方法があるかもしれません。投稿者のおかげで

乾杯

0
追加された