SmartGWT TabSet.destroy()和

SmartGWT TabSet.destroy()和,tabs,null,smartgwt,collision,destroy,Tabs,Null,Smartgwt,Collision,Destroy,尝试重新创建同一选项卡集时,选项卡ID发生冲突。 我的情况如下:我通常有3个选项卡,然后一些操作会创建第4个选项卡,第4个选项卡中会发生一些操作,然后关闭,我需要重新启动我的应用程序并重新绘制3个常规选项卡,从数据库中获取新信息。一切都进行得很顺利,除了这次碰撞的警告,这不是一个阻碍。 为了清理它,我听从了同构的建议 并试图破坏选项卡集以重新创建它。 我有: 然而,我注意到,在debug中,TabSet并没有被完全解析,只是它的一些属性,并且正在给它一个新的ID。因此,不再出现警告,创建了选项卡


尝试重新创建同一选项卡集时,选项卡ID发生冲突。
我的情况如下:我通常有3个选项卡,然后一些操作会创建第4个选项卡,第4个选项卡中会发生一些操作,然后关闭,我需要重新启动我的应用程序并重新绘制3个常规选项卡,从数据库中获取新信息。一切都进行得很顺利,除了这次碰撞的警告,这不是一个阻碍。 为了清理它,我听从了同构的建议 并试图破坏选项卡集以重新创建它。 我有:

然而,我注意到,在debug中,TabSet并没有被完全解析,只是它的一些属性,并且正在给它一个新的ID。因此,不再出现警告,创建了选项卡,但没有填充它们
我的问题是:为什么选项卡集在销毁时不会变为空,我如何在没有ID冲突的情况下重新创建它?

提前感谢

我曾经遇到过同样的问题,并通过以下方法解决了它:

myTabSet.addCloseClickHandler(new CloseClickHandler() {

        @Override
        public void onCloseClick(TabCloseClickEvent event) {
            event.getTab().getPane().destroy(); 
        }
    });
显然,除非您销毁选项卡集的窗格,否则该选项卡集不会被完全销毁。
也许对你有用

我以前也遇到过同样的问题,并用以下方法解决了它:

myTabSet.addCloseClickHandler(new CloseClickHandler() {

        @Override
        public void onCloseClick(TabCloseClickEvent event) {
            event.getTab().getPane().destroy(); 
        }
    });
显然,除非您销毁选项卡集的窗格,否则该选项卡集不会被完全销毁。 也许对你有用