咨询热线:023-63853373

24小时热线:13372636650

新闻中心

首页

产品方案

服务项目

开发案例
新闻资讯
联系我们

Recyclerview adapter中item复用产生的页面错乱问题

2020/02/03  来源:乐潮信息

一般recyclerview会复用item以让recycler性能提升,但是我们有些时候会出现复用了之后混乱的情况,如何防止item页面产生错误的显示呢?我们开发的时候在adapter中如果写了if()逻辑,那么最好添加上else的逻辑,这样就能避免一些页面显示不正确的情况。

有时候,当一个item可以侧滑,当第一个item侧滑开时,此时向下滚动时,有时候可能会发现第5item也侧滑开了,这显然不是想要的逻辑。这时候我们可以给每个itemmodel设置一个标志,通过改变标志字段的值来控制界面显示。如果还是出现其他item显示错乱的问题,建议在adapter中重写方法:

image.png

此时就可以解决刚刚所示的问题。

Recyclerview的复用,还可能会出现一个常见的问题,就是当item中有布局执行隐藏逻辑后,其布局所占的高度居然会留下一片空白,你会发现设置view的可见性为GONE也不起作用。

这个时候如要动态设置view的宽高,然后再执行setVisibility操作,会解决因为复用产生的view隐藏后显示空白的问题。

//动态设置item高度,解决复用产生的隐藏后页面不显示问题。
public void setVisible(boolean visible) {
    RelativeLayout.LayoutParams param = (RelativeLayout.LayoutParams) itemRl.getLayoutParams();
    if (visible) {
        llOpenItem.setVisibility(View.VISIBLE);
        param.height = LinearLayout.LayoutParams.WRAP_CONTENT; //
根据具体需求场景设置
        param.width = LinearLayout.LayoutParams.MATCH_PARENT;
    } else {
        llOpenItem.setVisibility(View.GONE);
        param.height = itemHeight; //
根据具体需求场景设置
        param.width = LinearLayout.LayoutParams.MATCH_PARENT;
    }
    itemRl.setLayoutParams(param);
}

手机app定制开发要根据用户市场来

重庆app开发公司乐潮科技认为,随着移动互联网技术的不断发展,手机app开发现在已经

重庆APP开发多少钱

根据app应用软件开发的难易程度可以将重庆app开发价格大致分为一下几类

开发三级分销系统APP的好处

重庆APP开发乐潮科技认为:三级分销系统是各路商家的最爱,这句话说的绝对没毛病。

点击我更换图片

公司地址:

重庆市渝北区冉家坝时光城写字楼

联系方式:

023-63853373

13372636650(24h热线)

重庆市渝北区冉家坝时光城写字楼

© 2020 乐潮信息

渝ICP备15006414号-2      渝公网安备 50011202502110号