您的位置:首页 > 移动开发 > Android开发

RecyclerView Item不显示的问题

2016-12-09 16:06 337 查看
今天项目中遇见一个奇葩的问题,从服务端拿到数据之后,在notifyData()方法执行之后。数据不显示到页面上,于是跟踪代码,发现执行到了RecyclerView的下面这个方法public void stopIgnoringView(View view) {
final ViewHolder vh = getChildViewHolderInt(view);
vh.stopIgnoring();
vh.resetInternal();
vh.addFlags(ViewHolder.FLAG_INVALID);
}
源码之中的描述是这样的

/**
* This ViewHolder's data is invalid. The identity implied by mPosition and mItemId
* are not to be trusted and may no longer match the item view type.
* This ViewHolder must be fully rebound to different data.
*/
static final int FLAG_INVALID = 1 << 2;

度娘了一下这个状态

FLAG_INVALID ——ViewHolder绑定的View对应的数据无效,需要完全重新绑定不同的数据

于是我愚蠢的认为是数据的问题,还去找业务的麻烦

但是我跟踪的时候发现数据根本没有任何问题,recyclerView和业务返回的数据都是一样的。

还请了公司高手帮我解决,发现RecyclerView是显示了的,查看了代码RecyclerView是有宽高的。

并且我还跟踪代码发现 RecyclerView.Adapter 的onCreateViewHolder 和 onBindViewHolder 两个方法都没有走!

诡异诡异!



解决

最后是因为 我在访问服务的时候调用隐藏方法时,调错了一个方法。导致RecyclerView 一直没有显示出来!!!!!

诡异诡异!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 源码