首页 > 其他 > 详细

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

时间:2015-05-16 10:32:29      阅读:321      评论:0      收藏:0      [点我收藏+]

之前使用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 

        }
    }

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

原文:http://blog.csdn.net/sbsujjbcy/article/details/45751971

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!