1.Android中fragment切换报错:Can not perform this action after onSaveInstanceState
参考网址:Android can not perform this action after onSaveInstanceState 问题解决_colorfulshark-CSDN博客
解决方法:commit()替换成commitAllowingStateLoss()
old
FragmentTransaction trx = getSupportFragmentManager().beginTransaction();
if (!fragments[0].isAdded()) {
// 隐藏当前的fragment,add下一个到Activity中
trx.remove(fragments[choose]).add(R.id.activity_main_new, fragments[0]).commit();
} else {
// 隐藏当前的fragment,显示下一个
trx.hide(fragments[choose]).show(fragments[0]).commit();
}
new
FragmentTransaction trx = getSupportFragmentManager().beginTransaction();
if (!fragments[0].isAdded()) {
// 隐藏当前的fragment,add下一个到Activity中
trx.remove(fragments[choose]).add(R.id.activity_main_new, fragments[0]).commitAllowingStateLoss();
} else {
// 隐藏当前的fragment,显示下一个
trx.hide(fragments[choose]).show(fragments[0]).commitAllowingStateLoss();
}
|