一个时间轴的item,由于字数不同有的需要显示多行,有的只有一行。导致RecycleView加载下一页时再回到上面看到的布局就是错乱的。直接禁用RecycleView的复用也不行,而且RecycleView的滑动会变得非常卡。怎么解决呢?
代码由于昨天着急交版本,被我还原了,没有留下。但是应该是比较好理解的。

解决方案 »

  1.   

    复用布局和高度没关系吧,除非你写的item的高度是固定的。
      

  2.   

    问题解决了吗?同样问题,是item被复用的时候它的高度并没有跟随内容改变。比如第一次是加载一个三行的文字,第二次加载一行文字,但是item仍然占用三行高度。希望只是一行的高度
      

  3.   

    把你adapter放出来,和哪个地方错乱了说一下
      

  4.   

    recyclerView.setHasFixedSize(false)
      

  5.   

    你解决了吗?我使用notifyItemInserted等内容变化也会出现这个问题,使用notifyDataSetChanged 结构变化就可以了
      

  6.   

    这种复用问题基本上都是你代码写错了,不信你把text成wrap去掉计算逻辑绝对没问题
    1.不要把计算逻辑写在onCreat里面
    2.记得写if的时候必须写else
    3.adapter里面不要写requestLayout、notify等操作,不然卡死你
    4.断点是个好东西,一个断点看看你的计算逻辑对不对就知道了
      

  7.   

    你们问题解决了吗?我的也出现这个问题,使用水平的效果,本来某个item应该显示1行的高度,却显示了3行的高度,在线等。