1

我在 ui.xml 中有以下标记:

<g:HTMLPanel>
    <g:TabPanel ui:field="mainTabPanel">        

        <g:Tab text=""></g:Tab>     
        <g:Tab text=""></g:Tab>
        <g:Tab text=""></g:Tab>

    </g:TabPanel>                       
</g:HTMLPanel>

在入口点,我初始化小部件并尝试指定默认情况下应该打开哪个选项卡:

@UiField TabPanel mainTabPanel;
mainTabPanel = new TabPanel();
mainTabPanel.selectTab(1);

但是标签没有打开。

如何在 UI 中打开默认选项卡?

4

1 回答 1

1

当调用 createAndBindUi 时,UiBinder 会为您创建所有小部件实例并将它们放入您使用 @UiField 注释的字段中。发生的事情是该字段被覆盖 -> 您调用 selectTab 的实例不再使用。

只需删除行“mainTabPanel = new TabPanel();” 并检查“mainTabPanel.selectTab(1);” 在 createAndBindUi 之后调用。

如果要手动创建 TabPanel 实例,则使用“@UiField(provided=true)”注释字段并确保“mainTabPanel = new TabPanel();” 在 createAndBindUi 之前。

于 2013-09-22T15:23:58.907 回答