无法从管理器中删除字段



我向Horizontal Manager添加了两个按钮字段,当我试图从不同线程的管理器中删除相同的字段时,我会得到一个-index越界异常。

下面是我所做的一个例子——

hfm.add(button1);
hfm.add(button2);
layout.add(hfm);
// on clicking button it starts a different thread which
// tries to delete the two buttonFields from the manager.
fieldChanged(Field field1,int arg1) {
    if(field1==button1) {
        populateUI();//This function starts a new Thread
    }
}
populateUI() {
    //...............//
    run() {
        //...............//
        hfm.deleteAll();//this line gives an exception whereas
                        //on applying debug it shows field count as 2 
    }
}

那么,为什么即使有字段,它也会显示错误呢???其余的一切都很好。

我甚至试着单独删除它。。。

hfm.delete(0);
hfm.delete(1);

但仍然存在相同的错误——索引越界异常

您可以使用:

UiApplication.getUiApplication().invokeLater(new Runnable() {
  public void run() {   
  HorizontalFieldManager newHfm = new HorizontalFieldManager();
  replace ( hfm , newHfm );
  }
});

瞧!你的hfm和新的一样好。。

相关内容

  • 没有找到相关文章

最新更新