Android 更新RecyclerView的好方法

 更新时间:2017年06月14日 09:03:50   作者:zhangmiao14  
在使用RecyclerView的时候不免要修改RecyclerView的数据,使用notifyDataSetChanged()来刷新界面,但是当数据多,而只是修改了一点的数据,或者刷新比较频繁,这样就会导致界面卡顿,用户交互特别不好,这时可以使用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 with name ''android''的解决办法

    Android添加ButterKnife时报错Error:(2, 0) Cannot add extension wit

    今天小编就为大家分享一篇关于Android添加ButterKnife时报错Error:(2, 0) Cannot add extension with name 'android'的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Android开发之自定义刮刮卡实现代码

    Android开发之自定义刮刮卡实现代码

    本篇文章主要介绍了Android开发之自定义刮刮卡实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • android 7自定义相机预览及拍照功能

    android 7自定义相机预览及拍照功能

    这篇文章主要为大家详细介绍了android 7自定义相机预览及拍照功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android RecyclerView四级缓存源码层详细分析

    Android RecyclerView四级缓存源码层详细分析

    RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。接下来讲解RecyclerView的用法
    2022-11-11
  • Android ImageView的selector效果实例详解

    Android ImageView的selector效果实例详解

    这篇文章主要介绍了Android ImageView的selector效果实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Android编程之自定义ProgressBar示例

    Android编程之自定义ProgressBar示例

    这篇文章主要介绍了Android编程之自定义ProgressBar,结合实例形式分析了Android自定义进度条的布局、功能实现及相关属性设置技巧,需要的朋友可以参考下
    2017-08-08
  • kotlin实战教程之lambda编程

    kotlin实战教程之lambda编程

    这篇文章主要给大家介绍了关于kotlin实战教程之lambda编程的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用kotlin具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • Android framework ATMS启动流程

    Android framework ATMS启动流程

    这篇文章主要为大家介绍了Android framework ATMS启动流程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Android仿京东首页轮播文字效果

    Android仿京东首页轮播文字效果

    这篇文章主要介绍了Android仿京东首页轮播文字效果,又名垂直跑马灯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 很棒的Android弹幕效果实例

    很棒的Android弹幕效果实例

    这篇文章主要为大家详细介绍了很棒的Android弹幕效果实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11

最新评论