BB OS 6.0 でアプリを開発しています。スレッドで変更された UI の変更を更新する UI ハンドラはありますか。リンクの例を教えてください
質問する
166 次
2 に答える
4
いくつかのことができます。推奨されるアプローチは、UI 関連のコードを でラップしてから、 または のいずれかRunnable
を呼び出すことです。これら 2 つの違いは、イベント スレッドが使用可能になり、Runnable タスクが実行されるまでブロックされることです。Runnable をキューに入れ、すぐに戻ります。Application.getApplication().invokeAndWait(Runnable)
Application.getApplication().invokeLater(Runnable)
invokeAndWait
invokeLater
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 に答える