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);
现在只会启动一个选项卡
我为什么这么做?因为在第一次应用程序运行时,两个片段同时启动,因此会使应用程序变慢