我正在尝试为Storm2开发BlackBerry应用程序。尝试从应用程序的其他实例更新LabelField时,我遇到了问题。
程序运行正常但没有更新此LabelField,但是当我尝试添加代码来更新文本时,它在“settext”行之后变得没有响应。
我错过了什么吗?
public class AgentTrackerScreen extends MainScreen
{
public static LabelField _outputText;
...
}
public class BtService implements Runnable
{
...
public void run()
{
AgentTrackerScreen._outputtext.settext(
"Something: " + btListener.vecDevices.size());
}
...
}
答案 0 :(得分:3)
您必须在事件线程上进行所有用户界面修改,否则在执行此操作之前会锁定用户界面。有关详细信息,请参阅BlackBerry UI Threading Basics。
(顺便说一句,这是许多用户界面系统中的常见要求.Java SE中的Swing有此要求.Windows上的WPF也是如此。)
答案 1 :(得分:1)
使用: