您的位置:首页 > 其它

关于Fragment 的切换

2016-01-11 21:22 363 查看
/**
* 切换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();


具体的原因 看这里 点击看这里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: