标签:recycler bug 数据显示异常 上下滚动 static
之前使用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
标签:recycler bug 数据显示异常 上下滚动 static
原文地址:http://blog.csdn.net/sbsujjbcy/article/details/45751971