Closed tgmerge closed 7 years ago
你好 :) 最近在参考这个 RecyclerViewUtils 改进自己的 RecyclerView 工具集,但发现 BaseWrapperRecyclerAdapter 中用了比较多的 notifyDataSetChanged(),动画蛮不自然的,尤其是 这里 以及其中提到的 #3 。
BaseWrapperRecyclerAdapter
notifyDataSetChanged()
后来发现 这里 的 Load more view 的 view holder 不应该是 UnRecyclableViewHolder;换成 return new RecyclerView.ViewHolder(mLoadMoreFooterView) {}; 应该就可以了。
return new RecyclerView.ViewHolder(mLoadMoreFooterView) {};
如果这个 ViewHolder 不能 recycle 的话,hideLoadMoreView() 再 showLoadMoreView() 就会出现 #3 提到的问题。
这样很多地方的 notifyDataSetChanged() 都能用细粒度的 notify 方法替代掉吧,感觉效果会好一些?
确定是 UnRecyclableViewHolder引起的?
我在研究看看~
我也没有仔细研究……项目后来换成自己写的 RecyclerView Adapter 了,当时试着换了一下 UnRecyclableViewHolder 而已。如果不是这个问题的话请关闭 Issue 吧 _(:3 谢谢
你好 :) 最近在参考这个 RecyclerViewUtils 改进自己的 RecyclerView 工具集,但发现
BaseWrapperRecyclerAdapter
中用了比较多的notifyDataSetChanged()
,动画蛮不自然的,尤其是 这里 以及其中提到的 #3 。后来发现 这里 的 Load more view 的 view holder 不应该是 UnRecyclableViewHolder;换成
return new RecyclerView.ViewHolder(mLoadMoreFooterView) {};
应该就可以了。如果这个 ViewHolder 不能 recycle 的话,hideLoadMoreView() 再 showLoadMoreView() 就会出现 #3 提到的问题。
这样很多地方的
notifyDataSetChanged()
都能用细粒度的 notify 方法替代掉吧,感觉效果会好一些?