Mar*_*n S 0 android android-fragments android-viewpager2
我有一个带有 3 个相关片段的底部导航视图的活动。其中之一是带有使用 FragmentStateAdapter 的 ViewPager2 的 Fragment。在适配器的 createfragment(int position) 方法内,我返回另一个 Fragment 的几个实例,其中有一个选项菜单,在它的 onCreate() 中我调用 setHasOptionsMenu(true)。问题是在适配器初始化时,所有片段的菜单都是可见的,而不仅仅是当前可见片段的菜单。在第一次滑动之后,菜单似乎失效了,一切都应该如此。如果我通知适配器有关添加了另一个片段的更改,然后为新添加的片段出现另一个菜单项,也会出现此问题。我看到了一个类似的问题,但答案是在片段的 onResume() 方法中调用 setHasOptionsMenu() ,但这似乎不是处理此问题的正确行为。在评论中,另一个用户建议将 ViewPager2 升级到另一个版本,但我使用的是最新版本。谁能告诉我如何处理这个问题?
小智 7
我加入 StackOverflow 只是为了回答这个问题,因为我也在这个确切的问题上浪费了时间。
修复方法是更新到最新的 alpha01 版本的 ViewPager2。
implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01"
Run Code Online (Sandbox Code Playgroud)
请参阅:https : //developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
修复了将片段添加到 FragmentManager 时初始片段菜单可见性的 FragmentStateAdapter 问题。(I9d2ff, b/144442240)
| 归档时间: |
|
| 查看次数: |
466 次 |
| 最近记录: |