我正在 BB OS 6.0 中开发一个应用程序,是否有任何 UI 处理程序可以更新线程中更改的 UI 更改。谁能给我一些示例链接
问问题
166 次
2 回答
4
你可以做几件事。推荐的方法是将与 UI 相关的代码包装在 中Runnable
,然后调用Application.getApplication().invokeAndWait(Runnable)
或Application.getApplication().invokeLater(Runnable)
。这两者的区别在于invokeAndWait
阻塞,直到事件线程可用并执行Runnable任务;并将invokeLater
Runnable 排入队列并立即返回。
还有一个重载版本invokeLater
来安排 Runnable 以重复执行。
您还可以将与 UI 相关的代码包装在同步块中,并尝试锁定事件锁:
synchronized(Application.getEventLock()){
//GUI code here
}
您应该只锁定事件线程一小段时间,这也适用于使用方法提交的 Runnables invoke
。
于 2012-08-27T09:30:15.957 回答
0
在线程中。利用
UIApplication.getuiApplication.invokeLater(new Runnable()....
在其运行方法中,根据需要更改 UI。它会反映。
于 2012-08-27T11:19:11.947 回答