Android 更新RecyclerView的好方法
一般在使用RecyclerView的时候不免要修改RecyclerView的数据,使用notifyDataSetChanged()来刷新界面,但是当数据比较多,而只是修改了一点的数据,或者刷新比较频繁,这样就会导致界面的卡顿问题,用户交互特别不好。
这个时候就需要只是修改需要修改的数据,不要将数据全部进行更新,这样就可以解决问题。
局部更新的代码如下:
private int position;//当前recyclerview的position @BindView(R.id.speak_valuate_recycler_view) RecyclerView recyclerView; private LinearLayoutManager mRecyclerViewLayoutManager; mRecyclerViewLayoutManager = new LinearLayoutManager(this); mRecyclerViewLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); recyclerView.setLayoutManager(mRecyclerViewLayoutManager); private void changVolume(final int volume) { int first = mRecyclerViewLayoutManager.findFirstVisibleItemPosition(); int last = mRecyclerViewLayoutManager.findLastVisibleItemPosition(); if (position >= first && position <= last) { View view = recyclerView.getChildAt(position - first); if (recyclerView.getChildViewHolder(view) instanceof SpeakContentAdapter.SpeakContentHolder) { //修改数据 ProgressImageView progressImageView = (ProgressImageView) view.findViewById(R.id.speak_item_record); progressImageView.setProgress(volume); } } }
以上所述是小编给大家介绍的Android 更新RecyclerView的好方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Android添加ButterKnife时报错Error:(2, 0) Cannot add extension wit
今天小编就为大家分享一篇关于Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name 'android'的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12Android RecyclerView四级缓存源码层详细分析
RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法2022-11-11Android ImageView的selector效果实例详解
这篇文章主要介绍了Android ImageView的selector效果实例详解的相关资料,需要的朋友可以参考下2017-07-07
最新评论