Android 更新RecyclerView的好方法
程序员文章站
2023-12-03 11:58:04
一般在使用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的好方法,希望对大家有所帮助