我正在BB OS 6.0中开发一个App,是否有任何UI处理程序可以更新在Thread中更改的UI更改。任何人都可以给我一些示例链接
答案 0 :(得分:4)
你可以做几件事。推荐的方法是将您的UI相关代码包装在Runnable
中,然后调用Application.getApplication().invokeAndWait(Runnable)
或Application.getApplication().invokeLater(Runnable)
。这两者之间的区别是invokeAndWait
阻塞,直到事件线程可用并执行Runnable任务;和invokeLater
只是将Runnable排队并立即返回。
还有an overloaded version of invokeLater
来安排Runnable重复执行。
您还可以将UI相关代码包装在同步块中,并try to lock on the event lock:
synchronized(Application.getEventLock()){
//GUI code here
}
您应该只锁定事件线程一小段时间,这也适用于使用invoke
方法提交的Runnables。
答案 1 :(得分:0)
在线程中。 使用
UIApplication.getuiApplication.invokeLater(new Runnable()....
在其运行方法中,根据需要更改UI。它会反映出来。