Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android选项卡:设置主选项卡而不启动默认片段_Android_Tabs_Android Fragments - Fatal编程技术网

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

Android选项卡:设置主选项卡而不启动默认片段,android,tabs,android-fragments,Android,Tabs,Android Fragments,我使用此代码设置主选项卡: tabhost.setCurrentTabByTag(...); 工作正常,但默认选项卡片段以我设置为当前选项卡的新选项卡开始的问题,我通过以下方式进行检查: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); Log.e("LOG", "Default Fragment

我使用此代码设置主选项卡:

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”,这意味着尽管我设置了当前选项卡,但默认选项卡在应用程序运行时启动


有什么解决这个问题的建议吗?

我用一个技巧解决了我的问题,我在第一个选项卡上添加了一个选项卡,然后将其命名为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);
现在只会启动一个选项卡

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