RecyclerView中的item嵌套viewPager的异常情况

最近有一个页面,要在recyclerView中嵌套viewPager,最终效果如下图

可是实际开发的过程中发现第一个viewPager显示没问题,第二个viewPager没有数据,是什么原因呢?

解决思路就不说了,经过查询资料了解到viewPager在同一个页面中不能共享ID,也就是说在一个页面中如果有多个viewPager的话,每个viewPager的ID必须是不同的,知道了原因,解决办法也就有了。

只要在item的布局文件中不给viewPager设置ID,在item设置数据时,动态的给viewPager设置ID就可以了,具体方法是viewPager.setId()。经过测试发现viewpager的id不能是0,因为我设置为0的时候 也会出现异常,因此我们只需要用item的position+1 给viewPager设置ID 就可以了。

动态设置ID补充:我是通过itemView的getChild()这类方法找到的ViewPager,然后再通过上述的方法设置ID。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章分三个部分,简单跟大家讲一下 RecyclerView 的常用方法与奇葩用法;工作原理与ListView比...
    LucasAdam阅读 4,414评论 0 27
  • 前言 好记性不如烂笔头,学习的知识总要记录下来,通过本文来加深对 ViewPager 方方面面的理解: ViewP...
    whd_Alive阅读 2,276评论 0 9
  • 雾降雨疏雪骤,寒袭衣肥体瘦。 路上断魂人,行色匆匆依旧。 可否?可否? 风冷邀来暖酒。
    marco60阅读 51评论 0 0
  • 我们把自己最想说的话藏了起来,装进了海洋瓶里,它会承载着我们许多的情绪与希望向深海处游去吧,我也不知道。
    原来我叫封夕阅读 167评论 0 0
  • 自2018的九月某天,在私信认识了某个人,从最初的:你好……开始了每天东一搭西一搭的聊天,后变得频繁,每天都会不由...
    一缕飘散阅读 248评论 0 5