2012-08-27 31 views
-2

我正在开发一个应用程序在BB操作系统6.0,是否有任何UI处理程序,它更新线程中更改的UI更改。任何一个可以给我一些例子链接的是否有任何UI处理程序为黑莓操作系统6.0

+2

您已经[问这个问题](http://stackoverflow.com/questions/12088189/in-blackberry-os-5-0-is-there-any-ui-handler-to-update-ui-of屏幕)为OS 5.0,但没有后续并接受答案。你想达到什么目的,你没有得到这个问题的答案? – Nate

+0

Hey Nate,上次我要求BB OS 5.0。现在我想要的BB操作系统6.0 – Nitesh

+0

据我所知,BB6与BB5在这个问题上没有什么不同。而且,当人们花时间提供免费建议时,您仍然应该接受答案。显然,有时候没有提供正确的答案,但在这种情况下,人们已经指出了用这两个问题做这件事的正确方法。 – Nate

回答

4

你可以做几件事情。推荐的方法是将您的UI相关代码包装在Runnable中,然后调用Application.getApplication().invokeAndWait(Runnable)Application.getApplication().invokeLater(Runnable)。这两者之间的区别在于invokeAndWait阻塞,直到事件线程可用并且执行Runnable任务;和invokeLater只是入队Runnable并立即返回。

还有an overloaded version of invokeLater安排一个Runnable重复执行。

你也可以换一个synchronized块try to lock on the event lock你的用户界面相关的代码,并且:

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

您应该只锁定事件线程的时间很短,这也适用于的Runnable submited与invoke方法。

+0

感谢您的留言。 – Nitesh

0

In Thread。 使用

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

在它的run方法,改变UI根据自己的需要。它会反映。

相关问题