繁体   English   中英

java.lang.IllegalStateException:使用FragmentTabHost时在onSaveInstanceState之后无法执行此操作

[英]java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState while using FragmentTabHost

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

 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.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 我用搜索次数搜索了所有链接。 但我找不到任何解决方案。 请帮助我,因为我对此感到困惑。

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

上面的代码有时可以正常工作,有时会引发异常。

请尝试以下代码。

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);

尝试使用此:

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

如果不传达代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM