Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry-LabelField动态更新问题_Blackberry - Fatal编程技术网

Blackberry-LabelField动态更新问题

Blackberry-LabelField动态更新问题,blackberry,Blackberry,我正在尝试为Storm2开发一款黑莓应用程序。在尝试从应用程序的不同实例更新LabelField时,我遇到了一个问题 程序在不更新这个LabelField的情况下运行良好,但是当我试图添加代码来更新文本时,在“settext”行之后,它就没有响应了 我错过什么了吗 public class AgentTrackerScreen extends MainScreen { public static LabelField _outputText; ... } public clas

我正在尝试为Storm2开发一款黑莓应用程序。在尝试从应用程序的不同实例更新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());
    }
    ...
}

您必须在事件线程上进行所有用户界面修改,否则在执行之前锁定用户界面。有关详细信息,请参阅

(顺便说一句,这是许多用户界面系统中的常见要求。Java SE中的Swing有此要求。Windows上的WPF也有此要求。)

使用以下任一方法:

  • invokeAndWait(可运行r)
  • 调用器(可运行的r)
  • 在UiApplication.getEventLock()上同步

尝试将
run()
方法中的代码分成两行(第一行创建字符串,第二行使用
settext
中的字符串),以查看问题是出在
settext
还是出在
btListener.vecDevices.size()
中。我已经尝试过了。btListener.vecDevices.size()工作正常;我认为settext是有问题的。