java.lang.IllegalStateException: не может выполнить это действие после onSaveInstanceState при использовании 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. Я погуглил несколько раз и прошёл через все ссылки. но я не могу найти никакого решения. Пожалуйста, помогите мне, потому что я застрял на этом.-------------------------------------------------- ----Редактировать---------------------------------
Приведенный выше код иногда работает нормально и иногда вызывает исключение.
2 ответа
Пожалуйста, попробуйте следующий код.
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
}
если не передать код