我正在使用decorated tab panel在GWT中開發應用程序。我已經爲選項卡實施了一個關閉選項。現在我的問題是,當我關閉一個選項卡並嘗試在另一個選項卡中添加一些數據時,它將採用錯誤的索引。在關閉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();
當然這會根據當前在該特定時刻的選項卡數返回一個索引的選項卡索引,所以我需要將它們存儲在某處,否則我必須在關閉後重置選項卡索引。
選項卡面板使用基於0的索引,因此索引3實際上是第四個元素,因爲選項卡的編號爲0 - 1-2-3,但也許這只是在你的例子中的一個錯字...你可能會張貼一些代碼讓你的問題更清楚一點嗎? – 2011-05-23 07:43:56
不要將代碼發佈到評論中,通過按問題標籤下的「編輯」鏈接將其添加到您的問題中。 – 2011-05-23 07:47:07