java.lang.IllegalStateException: commit already called

今天遇到一个 bug ,特来做一下记录;

描述:我写了 一份封装的 Fragment 来回切换,但是显示不出来;怀疑是 Fragment 在调用 show() 方法时也应该添加 commitAllowingStateLoss() 提交事务的方法,于是调用该方法后。便出现了异常。

异常描述为 :java.lang.IllegalStateException: commit already called

原因 :FragmentTransaction 事务变量创建为全局的,只能调用一次提交事务的方法;

解决方法:将创建 FragmentTransaction 的变量设置为局部变量,这样就可以多次调用而不抛出异常。

猜你喜欢

转载自blog.csdn.net/wuqingsen1/article/details/83584527
今日推荐