hi-dhl / Binding

Simple API implement DataBinding and ViewBinding. 简单的 API 实现 DataBinding 和 ViewBinding,欢迎 star
Apache License 2.0
425 stars 48 forks source link

反馈个bug,我用viewpager2,从kotlin-android-extensions改成这个框架报错 #21

Open shenyunhuan opened 3 years ago

shenyunhuan commented 3 years ago

先是报错 FragmentManager is already executing transactions 然后我改了FragmentStateAdapter的条件 报错变成了Fragment no longer exists 但是FragmentStateAdapter saveState是final方法 和viewpager2 也是final class 所以我还原代码kotlin-android-extensions的写法就没有报错了 我应用的UI是下面三个tab,一个tab用viewpager2包两个 Fragment 在tab上切来切去就报错

hi-dhl commented 3 years ago

@shenyunhuan 非常感谢你的反馈,我会尽快修复,有两个几个问题咨询一下:

  1. 「 viewpager2 包含 两个 Fragment 」 在 viewpager2 之间滑动有问题吗?
  2. 在 tab 上切来切去,我理解的是 包含 viewpager2 的页面 和 不包含 viewpager2 的页面,它们之间互相切换会报错
shenyunhuan commented 3 years ago

@shenyunhuan 非常感谢你的反馈,我会尽快修复,有两个几个问题咨询一下:

  1. “ viewpager2包含两个片段”在viewpager2之间滑动有问题吗?
  2. 在tab上切来切去,我理解的是是包含viewpager2的页面和不包含viewpager2的页面,它们之间互相切换会报错

1、在一个Tab内,滑动无问题, 2、我有四个Tab,左边两个tab包含viewpager2的页面,右边不包含,没有从第一个Tab的第二个Fragment滑到第二个Tab的联动效果,只有一个包含了viewpager2的Tab改造了,但切到这个页面切来切去就报错

hi-dhl commented 3 years ago

大概理解了你的意思,我写个 demo 试试看

hi-dhl commented 3 years ago

@shenyunhuan 非常感谢你的反馈,我会尽快修复,有两个几个问题咨询一下:

  1. “ viewpager2包含两个片段”在viewpager2之间滑动有问题吗?
  2. 在tab上切来切去,我理解的是是包含viewpager2的页面和不包含viewpager2的页面,它们之间互相切换会报错

1、在一个Tab内,滑动无问题, 2、我有四个Tab,左边两个tab包含viewpager2的页面,右边不包含,没有从第一个Tab的第二个Fragment滑到第二个Tab的联动效果,只有一个包含了viewpager2的Tab改造了,但切到这个页面切来切去就报错

你好,我按照你说的,写了一个 demo:

  1. 底部有三个 tab
  2. 其中一个 tab 包含 ViewPager2
  3. ViewPager2 嵌套 2 个 Fragment

滑动并没有出现问题:

demo 体验入口地址: 「第一个 Activity」 -> 「 ViewBinidng示例」 -> 「 在 ViewPager2 中使用」 可以滑动体验一下

代码地址如下所示,如果有时间,辛苦看一下,是否和你的架构一致

https://github.com/hi-dhl/Binding/blob/49f1375a9bd32b9e055c2121b1748e0abe5528a8/app/src/main/java/com/hi/dhl/demo/binding/viewpager2/ViewPager2Activity.kt#L21-L87