/**
* 切换fragment
*
* @param fragment
*/
public void startFragment(Fragment fragment) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.fl_main, fragment);
transaction.commit();
}
一般情况下在同一个Activity 中切换 fragment 用commit() 提交事物 就可以!如上面的代码;
二般情况下 在第二个Activity中 调用上面的commit(); 会报错 那么解决的办法 使用 transaction.commitAllowingStateLoss();提交事物;
代码如下:
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.fl_main,shoppingCartFragment);
transaction.commitAllowingStateLoss();
具体的原因 看这里 点击看这里