RecyclerView嵌套Viewpager的爱恨情仇
场景:
App首页采用RecyclerView多种布局列表,其中最后一个itemview为: Tablayout+ViewPager(Fragment+RecyclerView)。
首页初始化viewpager显示正常,下拉刷新时, viewpager一片空白
解决之路:
刚开始以为是滑动冲突、底部fragment初始化的问题,之后也想过要换成其他的做法(比如改成Tablayout+recyclerview......),
但纵观App风云,taylayout+viewpager这种方式是用户体验最好、主流,所以还是静下来心找方案
最终找到解决方案:viewpager.setId(position) 并且这个值是动态的不是固定的值,比如每次刷新以后值为8,9,10。。, 固定的 值依然会显示空白
为否如此呢:一点小小的浅见
首页RecyclerView多个itemview中只包含一个viewpager,再下来刷新的时候重新给RecyclerView.setAdapter,同时重新创建了一个viewpager, 因为ViewPager在同一个页面中不允许ID共享,也就是说ViewPager不允许存在相同的id,我重新setAdapter之后此时存在两个相同ID的,so....
如果下来刷新的时候,不重新创建,而只是NotifySetDataChange(), 就不会存在这个问题