在做一个酒店的项目,遇到一个错误:commit already called.
在同一layout里replace不同的Fragment,需要执行多次transaction.commit();每个事务只能执行一次。所以会出现,第一次切换界面没问题,第二次报commit already called。解决办法是,将manager声明成全局对象,
final FragmentManager manager = getFragmentManager();
在每个item的点击事件里从新实例化transaction
FragmentTransaction transaction = manager.beginTransaction();
transaction.commit();