Android 选项卡主机片段保存实例

Android 选项卡主机片段保存实例,android,android-fragments,android-tabhost,savestate,fragment-tab-host,Android,Android Fragments,Android Tabhost,Savestate,Fragment Tab Host,我有一个带有5个选项卡的Tabhost:tab1、tab2、tab3、tab4、tab5 它们都有相同的片段,但内容不同。 我的片段onCreateView方法包含以下代码: switch(tabtag){ case 1: loaddata1(); break; case 2: loaddata2(); break; case 3: loaddata3(); break; case 4:

我有一个带有5个选项卡的Tabhost:tab1、tab2、tab3、tab4、tab5
它们都有相同的片段,但内容不同。
我的片段
onCreateView
方法包含以下代码:

switch(tabtag){
   case 1:
       loaddata1();
       break;
   case 2:
       loaddata2();
       break;
   case 3:
       loaddata3();
       break;
   case 4:
       loaddata4();
       break;
   case 5:
       loaddata5();
       break;
}
我正确加载了相关数据,但我希望每个选项卡只加载一次数据。
我使用了saveInstanceState上的
和onActivityCreated上的
方法:

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putBoolean("1", isFirsttime1);
    outState.putBoolean("2", isFirsttime2);
    outState.putBoolean("3", isFirsttime3);
    outState.putBoolean("4", isFirsttime4);
    outState.putBoolean("5", isFirsttime5);
    outState.putBoolean("6", isFirsttime6);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        // Restore last state for checked position.
        isFirsttime1 = savedInstanceState.getBoolean("1");
        isFirsttime2 = savedInstanceState.getBoolean("2");
        isFirsttime3 = savedInstanceState.getBoolean("3");
        isFirsttime4 = savedInstanceState.getBoolean("4");
        isFirsttime5 = savedInstanceState.getBoolean("5");
        isFirsttime6 = savedInstanceState.getBoolean("6");

    }
}
因此,在
onCreateView
中,我在每个开关案例中添加了以下代码:

if (isFirsttime){
   loaddata();
}
else{
   //use from my view state
}
但它不是这样工作的,我想因为我再次使用了同一个片段,
onSaveInstanceState
方法未调用

我怎样才能解决它?
提前谢谢