Android选项卡:设置主选项卡而不启动默认片段

时间:2013-10-04 00:10:35

标签: android tabs android-fragments

我使用此代码设置主标签:

tabhost.setCurrentTabByTag(...);

它工作正常,但是默认选项卡片段以我设置为当前选项卡的新选项卡开头的问题,我通过以下方式检查:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRetainInstance(true);

    Log.e("LOG", "Default Fragment Start, ID = 0");
}

当我运行应用程序时,我在logcat“Default Fragment Start,ID = 0”中看到,这意味着虽然我设置了当前选项卡,但是当应用程序运行时,默认选项卡窃取开始了。

有任何解决此问题的建议吗?

1 个答案:

答案 0 :(得分:0)

我用技巧解决了我的问题,我在第一个添加了一个标签,然后我将它命名为InitializationTab:

addTab("InitializationTab".....); // index 0
addTab("First"....); // index 1
addTab("Second"...); // index 2
addTab("Third"...); // index 3
addTab("Fourth"...); // index 4

然后我将当前标签设置为我想要的任何标签

tabHost.setCurrentTab(1);

我用这段代码隐藏了它

tabHost.getTabWidget().getChildAt(0).setVisibility(View.GONE);

现在只会启动一个标签。

为什么我这样做了?因为在第一次应用程序运行时,两个片段同时启动,因此可以使应用程序变慢。