java.lang.IllegalArgumentException: Fragment HomeMainFragment{1c1ac1f} (b3bbebc2-f159-448d-81b8-f3818008f830) is not an active fragment of FragmentManager FragmentManager{528740d in HostCallbacks{712d49}}} at androidx.fragment.app.FragmentManager.setMaxLifecycle(FragmentManager.java:3303) ...
而Activity的onPause()会调用它所管理的Fragment的同样的方法,但是当我使用replace时,已经remove掉了原来的Fragment,所以当调用原理的Fragment的onPause()方法就回不存在,就会出现上述xxx is not currently in the FragmentManager的异常推出
界面A(有viewpager)--(跳到)编辑界面B--保存返回界面A,这时候推出界面A,必然发生IllegalStateException: <Fragment> is not currently in the FragmentManager。
at java.lang.IllegalArgumentException: Cannot setMaxLifecycleforFragment not attached to FragmentManager FragmentManager{f7964e2 innull}} at androidx.fragment.app.BackStackRecord.setMaxLifecycle(BackStackRecord.java:260) at androidx.fragment.app.FragmentPagerAdapter.setPrimaryItem(FragmentPagerAdapter...
java.lang.IllegalStateException: FragmentManager is already executing transactions 异常表示在尝试执行一个新的 Fragment 事务时,FragmentManager 正在处理另一个事务。FragmentManager 不支持并行的事务执行,每个事务必须等待前一个事务完成后才能开始。 2. 可能原因 多重调用:在 Fragment 的生命周期中(如 onActivityCrea...
双层Fragment+ViewPager2嵌套来回切换导致如下异常 ViewPager2 FragmentManagerisalready executing transactions 二、解决办法 FragmentStateAdapter的默认构造函数使用的是: publicFragmentStateAdapter(@NonNull FragmentActivity fragmentActivity) {this(fragmentActivity.getSupportFragmentManager(), fragmentActivity.getLifecycle(...
at .FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:2) at .BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:2) 原因 由于在Fragment中调用了 方法导致的 解决方案替换为 getChildFragmentManager 即可 FragmentManager fm = getChildFragmentManager(); ...
>>> FragmentManager.putFragment() when the member of the fragment mIndex is less >>> than 0, but I cannot figure out when mIndex becomes less than 0 and why this >>> is not handled correctly. >>> >>> I would like to point out that I do not have an MOR (method of ...
titleList);要改为 FragmentAdapter adapter = new FragmentAdapter(getChildFragmentManager(),fragments,titleList);这个问题主要是fragment里面嵌套fragment造成各,再嵌套fragment里的类里面将获取FragmentManager的函数由getActivity().getSupportFragmentManager()换成getChildFragmentManager()函数就可以了。
二. getFragmentManager() 改为 getChildFragmentManager(), 简单点说就是即前者只为activity中表层fragment提供服务, 而后者为fragment中的fragment提供服务。 然而都没有解决我那个情况, 后来慢慢debug, 最终发现将findViewById()前的getActivity()改为getView(), 问题解决了(也需要满足上面两种情况)!