【问题标题】:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState while using FragmentTabHostjava.lang.IllegalStateException:在使用 FragmentTabHost 时 onSaveInstanceState 后无法执行此操作
【发布时间】:2013-11-25 19:13:06
【问题描述】:

我正在尝试使用以下代码创建一个选项卡式活动

public class FragmentTabs extends FragmentActivity {

private FragmentTabHost mTabHost;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
    mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

    mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
            SimpleFrag.class, null);

    mTabHost.addTab(mTabHost.newTabSpec("detailed").setIndicator("Detailed"),
            DetailedFrag.class, null);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}    

代码总是显示 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 在 FragmentManager 中。我用谷歌搜索了几次并浏览了所有链接。但我无法得到任何解决方案。请帮助我,因为我坚持这一点。

----------------------------------- --------编辑------------------------------------

上面的代码有时工作正常,有时会抛出异常。

【问题讨论】:

标签: java android android-fragments android-fragmentactivity fragment-tab-host


【解决方案1】:

请尝试以下代码。

super.onCreate(savedInstanceState);
View root = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE).inflate(R.layout.activity_main, null, false);
setContentView(root);
mTabHost = (FragmentTabHost) root.findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),SimpleFrag.class, null);
mTabHost.addTab(mTabHost.newTabSpec("detailed").setIndicator("Detailed"), DetailedFrag.class, null);

【讨论】:

    【解决方案2】:

    试试这个:

    if (savedInstanceState == null) {
            // write code here
        }
    

    如果不传达代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 2015-04-02
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多