2013-06-17 2 views
1


У меня возникло столкновение ID идентификаторов табуляции при попытке воссоздать тот же TabSet.
Мое дело в следующем: у меня есть 3 вкладки в целом, тогда какое-то действие создает 4-й, некоторые действия происходят на этой 4-й вкладке, которая затем закрывается, и мне нужно перезапустить мое приложение и снова перерисовать 3 общих выборки вкладок новая информация из базы данных. Все работало хорошо, за исключением этого предупреждения о столкновении, которое в любом случае не было блокирующим. Чтобы очистить его, я последовал совету Isomorphic от this thread и попытался уничтожить TabSet, чтобы воссоздать его. я:SmartGWT TabSet.destroy() и отдых

if (myTabSet != null) { 
    myTabSet.destroy(); 
} 
myTabSet = new TabSet(); 
// setting TabSet properties 
// creating Tabs and adding them to the TabSet 

Я заметил, однако, в отладке, что TabSet не будучи desroyed полностью, лишь некоторые из его свойств, а также о том, что новый идентификатор отдается ему. В результате больше нет предупреждений, вкладки создаются, но они не заполняются.
Мой вопрос: почему TabSet не становится ничтожным при уничтожении, и как я могу его воссоздать без столкновения идентификаторов?
Заранее спасибо

ответ

1

Я использовал, чтобы иметь ту же проблему и установил ее с:

myTabSet.addCloseClickHandler(new CloseClickHandler() { 

     @Override 
     public void onCloseClick(TabCloseClickEvent event) { 
      event.getTab().getPane().destroy(); 
     } 
    }); 

Видимо tabset не полностью уничтожен, если не уничтожить его панель. Возможно, это сработает для вас!