Я разрабатываю приложение в GWT, используя оформленную панель вкладок . Я реализовал опцию закрытия для вкладок. Теперь моя проблема заключается в том, что когда я закрываю одну вкладку и пытаюсь добавить некоторые данные на другую вкладку, она принимает неверный индекс.
Например: у меня есть 4 вкладки и закрываю третью. Я открываю 4-ю вкладку и пытаюсь что-то добавить туда, но ее индекс отображается как 3 вместо 4, так как их всего 3.
Как я могу сбросить индекс вкладки в программе или любое другое решение, где я могу прочитать правильный индекс вкладки, как это было до его удаления?
Здесь я добавляю новую вкладку и событие закрытия.
HorizontalPanel horizontalPanel = new HorizontalPanel();
Image image = new Image();
Label label = new Label("New Report: " + k);
label.setWordWrap(false);
horizontalPanel.add(label);
horizontalPanel.add(image);
image.setUrl("images/1305803163_close.png");
tabpanel.add(newTab[k], horizontalPanel);
tabindexx[k] = k;
image.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
tabpanel.remove(tabpanel.getTabBar().getSelectedTab());
}
});
и в некоторой части кода я получаю доступ к индексу табуляции, как это
int selectedtab = tabpanel.getTabBar().getSelectedTab();
Конечно, это вернет индекс, основанный на количестве вкладок, присутствующих в данный конкретный момент, поэтому мне нужно где-то их хранить, иначе мне придется сбросить индекс вкладок после закрытия.