bytedance / scene

Android Single Activity Framework compatible with Fragment.
Apache License 2.0
2.1k stars 200 forks source link

GroupScene与ViewPager使用报错 #43

Closed Ccixyj closed 4 years ago

Ccixyj commented 4 years ago

当前scene只有viewpager,且不设置viewpager的id,会报错


onCreateView(): ViewGroup = ViewPager(container.context)

//报错
 java.lang.IllegalArgumentException:  -1 view not found
        at com.bytedance.scene.group.GroupScene.findContainerById(GroupScene.java:321)
        at com.bytedance.scene.group.GroupSceneManager.moveState(GroupSceneManager.java:932)

adapter已设置

Ccixyj commented 4 years ago

是否可以添加一种viewpager的adapter,以便支持类似FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT一样的行为。这样adapter就可以使用普通的scene子类了,同时也更好理解

qii commented 4 years ago

当前scene只有viewpager,且不设置viewpager的id,会报错


onCreateView(): ViewGroup = ViewPager(container.context)

//报错
 java.lang.IllegalArgumentException:  -1 view not found
        at com.bytedance.scene.group.GroupScene.findContainerById(GroupScene.java:321)
        at com.bytedance.scene.group.GroupSceneManager.moveState(GroupSceneManager.java:932)

adapter已设置

这个问题是因为 ViewPager 没有 id

qii commented 4 years ago

是否可以添加一种viewpager的adapter,以便支持类似FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT一样的行为。这样adapter就可以使用普通的scene子类了,同时也更好理解

是否可以添加一种viewpager的adapter,以便支持类似FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT一样的行为。这样adapter就可以使用普通的scene子类了,同时也更好理解

Fragment 的 Api 总是这么奇怪,明明看不见了,还要在 onStart 状态