簡體   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