問題があります: いくつかのタブ、1 つの新しいタブが開かれ、そこで何らかのアクティビティが行われた後、閉じられます。問題は、私もTabSelectedHandler
すべてに s を持っていてTab
、それらが だけonTabSelected
でなく削除時にも実行されることです (これはたまたま問題になります)。最後のタブを削除すると、前のタブが選択されます。これを回避して削除する方法は?コードの例を次に示します。
Tab existingTab0 = new Tab("Static tab 0");
existingTab0.setID("0");
existingTab0.addTabSelectedHandler(new TabSelectedHandler () {
public void onTabSelected(final TabSelectedEvent event) {
// do stuff 0
}
});
Tab existingTab1 = new Tab("Static tab 1");
existingTab1.setID("1");
existingTab1.addTabSelectedHandler(new TabSelectedHandler () {
public void onTabSelected(final TabSelectedEvent event) {
// do stuff 1
}
});
Tab dynamicTab = new Tab("Dynamic tab");
dynamicTab.setID("2");
dynamicTab.addTabSelectedHandler(new TabSelectedHandler () {
public void onTabSelected(final TabSelectedEvent event) {
// do stuff 2
}
});
TabSet tabSet = new TabSet();
tabSet.addTab(existingTab0);
tabSet.addTab(existingTab1);
tabSet.addTab(dynamicTab);
// upon a specific case I need to remove dynamicTab
tabSet.removeTab(dynamicTab); // forces onTabSelected method for Static tab 1 to be fired and does stuff 1 and this should NOT happen here
回避策のアイデアはありますか?前もって感謝します。