Blackberry-LabelField动态更新问题
我正在尝试为Storm2开发一款黑莓应用程序。在尝试从应用程序的不同实例更新LabelField时,我遇到了一个问题 程序在不更新这个LabelField的情况下运行良好,但是当我试图添加代码来更新文本时,在“settext”行之后,它就没有响应了 我错过什么了吗Blackberry-LabelField动态更新问题,blackberry,Blackberry,我正在尝试为Storm2开发一款黑莓应用程序。在尝试从应用程序的不同实例更新LabelField时,我遇到了一个问题 程序在不更新这个LabelField的情况下运行良好,但是当我试图添加代码来更新文本时,在“settext”行之后,它就没有响应了 我错过什么了吗 public class AgentTrackerScreen extends MainScreen { public static LabelField _outputText; ... } public clas
public class AgentTrackerScreen extends MainScreen
{
public static LabelField _outputText;
...
}
public class BtService implements Runnable
{
...
public void run()
{
AgentTrackerScreen._outputtext.settext(
"Something: " + btListener.vecDevices.size());
}
...
}
您必须在事件线程上进行所有用户界面修改,否则在执行之前锁定用户界面。有关详细信息,请参阅 (顺便说一句,这是许多用户界面系统中的常见要求。Java SE中的Swing有此要求。Windows上的WPF也有此要求。)使用以下任一方法:
- invokeAndWait(可运行r)
- 调用器(可运行的r)
- 在UiApplication.getEventLock()上同步
run()
方法中的代码分成两行(第一行创建字符串,第二行使用settext
中的字符串),以查看问题是出在settext
还是出在btListener.vecDevices.size()
中。我已经尝试过了。btListener.vecDevices.size()工作正常;我认为settext是有问题的。