static引发的RecyclerView上下滚动数据显示异常的bug

之前使用RecyclerView从来没有出现过这种问题。问题大致是这样的,当滑动RecyclerView时,某项item内的数据不断发生改变。如图所示:
这里写图片描述
从图中可以看到,中间的一项内容随着滚动在不断的发送变换。

找了好久没找到原因,后来去stackoverflow上找了下,找到了类似的问题,但是依然没有解决方法,后来无意翻看以前的代码,想起来写ViewHolder的时候把成员变量声明成static了,当时可能是由于脑抽了顺手写了个static,就因为这个static,导致了数据显示异常,解决方法就是把成员变量的static修饰符删除。具体原因么,意会意会。static修饰后就成类属性了。

修改前代码

  public static class ViewHolder extends RecyclerView.ViewHolder {
        public  static TextView title;
        public  static TextView time;
        public  static TextView click;
        public  static TextView author;

        public ViewHolder(View itemLayoutView) {
            super(itemLayoutView);

                //findView 

        }
    }

修改后代码

  public static class ViewHolder extends RecyclerView.ViewHolder {
        public  TextView title;
        public  TextView time;
        public  TextView click;
        public  TextView author;

        public ViewHolder(View itemLayoutView) {
            super(itemLayoutView);

                //findView 

        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值