-2

BB OS 6.0 でアプリを開発しています。スレッドで変更された UI の変更を更新する UI ハンドラはありますか。リンクの例を教えてください

4

2 に答える 2

4

いくつかのことができます。推奨されるアプローチは、UI 関連のコードを でラップしてから、 または のいずれかRunnableを呼び出すことです。これら 2 つの違いは、イベント スレッドが使用可能になり、Runnable タスクが実行されるまでブロックされることです。Runnable をキューに入れ、すぐに戻ります。Application.getApplication().invokeAndWait(Runnable)Application.getApplication().invokeLater(Runnable)invokeAndWaitinvokeLater

Runnable を繰り返し実行するようにスケジュールするオーバーロードされたバージョンinvokeLaterもあります。

また、UI 関連のコードを同期ブロックでラップし、イベント lock でロックを試みることもできます。

    synchronized(Application.getEventLock()){
        //GUI code here
    }

イベント スレッドをロックするのは短時間だけにしてください。これは、メソッドで送信された Runnables にも当てはまりinvokeます。

于 2012-08-27T09:30:15.957 に答える
0

スレッド内。使用する

 UIApplication.getuiApplication.invokeLater(new Runnable()....

runメソッドで、必要に応じてUIを変更します。反映されます。

于 2012-08-27T11:19:11.947 に答える