马道蓉,惠民县政府网,方东屏
一般在使用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 studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论