欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 更新RecyclerView的好方法

程序员文章站 2024-02-07 13:40:34
一般在使用recyclerview的时候不免要修改recyclerview的数据,使用notifydatasetchanged()来刷新界面,但是当数据比较多,而只是修改了...

一般在使用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的好方法,希望对大家有所帮助