Cannot setMaxLifecycle for Fragment not attached to FragmentManager

boatwater 应用层 2021-01-07 06:08:45
在 FragmentPagerAdapter 中写了个方法 移除 viewpager 中 某项fragment
FragmentTransaction transaction = fm.beginTransaction();
transaction.remove(fragment);
transaction.commitNow();
到目前是正常的移除了但是接下来切换的时候
mViewPager.setCurrentItem(position, false);

报了这个错误
java.lang.IllegalArgumentException: Cannot setMaxLifecycle for Fragment not attached to FragmentManager FragmentManager
哪位大大帮忙解答下
...全文
21059 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
boatwater 应用层 2021-01-13
  • 打赏
  • 举报
回复
引用 3 楼 不会写代码的猴子 的回复:
用remove的话,mViewPager.setCurrentItem(position, false);这里的position有更新吗?
嗯好像没处理这个。 mViewPager.setCurrentItem(position, false); 这段代码是在tabLayout 监听里面 tab.getPosition 拿的position 刚又试了下 remove 然后 notifyDataSetChanged(); 直接就崩溃了,还是这个bug
  • 打赏
  • 举报
回复
用remove的话,mViewPager.setCurrentItem(position, false);这里的position有更新吗?
boatwater 应用层 2021-01-11
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
就是说你操作了已经被你移除的对象
我把remove 改成了detach后没报错 但是如果用remove 该怎么处理呢
bdmh 2021-01-08
  • 打赏
  • 举报
回复
就是说你操作了已经被你移除的对象

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧