一个需求: 实现Viewpager2 + Fragment实现数据的展示(Viewpager外层不是Activity, 而是Fragment).
详细说明: 在一个Viewpager下, 使用的是同一个Fragment, 由于每一个Fragment显示的数据是一样的 所以直接很久数据的size, 来new N个Fragment.
遇到的问题: 根据一般Toolbar显示逻辑和代码使用方式, 出现了不可思议的异常显示, 主要是右上角的三个小点.
例如有四个Fragment:
第一种情况: 在点击第一个Fragment时, 这个Fragment是没有小点的, 而剩余的三个是有的. 点击第二个Fragment, 第二个是没有的, 而1, 3, 4 Fragment是有的. 也就是说只有选中的Fragment没有.
第二种情况: 只有点击的那个Fragment有三个小点, 而剩余三个没有.
第三种情况: 点击的相邻的有小点, 最后一个没有.
而解决方式:
1.在OnCreateOptionMenu()方法中添加menu.xml布局
2.在findViewbyId(xxx)找到toolbar, 在通过toolbar.inflateMenu(menu.xml)添加布局.
通过同时设置添加了menu布局, 解决了每个Fragment都正常显示了Toolbar的三个小点.
不容易啊!!!!!!!!!!!!!
如果有哪位大佬有更好的操作, 麻烦留言!
文章描述了一个在Viewpager2中使用Fragment展示数据时遇到的Toolbar菜单显示异常的问题。当Viewpager外层是Fragment而不是Activity时,同一Fragment的多个实例导致了菜单显示混乱。作者通过在OnCreateOptionMenu()中添加menu布局并用toolbar.inflateMenu()解决了所有Fragment正确显示菜单小点的问题。现在寻求更好的解决方案。
2476

被折叠的 条评论
为什么被折叠?



