最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 更新RecyclerView的好方法

 更新時間:2017年06月14日 09:03:50   作者:zhangmiao14  
在使用RecyclerView的時候不免要修改RecyclerView的數(shù)據(jù),使用notifyDataSetChanged()來刷新界面,但是當數(shù)據(jù)多,而只是修改了一點的數(shù)據(jù),或者刷新比較頻繁,這樣就會導致界面卡頓,用戶交互特別不好,這時可以使用RecyclerView方法解決,具體實現(xiàn)代碼大家參考下本文吧

一般在使用RecyclerView的時候不免要修改RecyclerView的數(shù)據(jù),使用notifyDataSetChanged()來刷新界面,但是當數(shù)據(jù)比較多,而只是修改了一點的數(shù)據(jù),或者刷新比較頻繁,這樣就會導致界面的卡頓問題,用戶交互特別不好。

  這個時候就需要只是修改需要修改的數(shù)據(jù),不要將數(shù)據(jù)全部進行更新,這樣就可以解決問題。

  局部更新的代碼如下:

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) {
        //修改數(shù)據(jù)
        ProgressImageView progressImageView = (ProgressImageView) view.findViewById(R.id.speak_item_record);
        progressImageView.setProgress(volume);
      }
    }
  }    

以上所述是小編給大家介紹的Android 更新RecyclerView的好方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論

汤阴县| 垣曲县| 巴青县| 蒲江县| 中卫市| 嵊州市| 凤翔县| 扶沟县| 乌拉特后旗| 嘉善县| 巩留县| 巩留县| 漯河市| 乌拉特后旗| 堆龙德庆县| 文山县| 虹口区| 齐河县| 肇源县| 康保县| 团风县| 龙泉市| 贺州市| 运城市| 九江市| 靖西县| 日照市| 都江堰市| 栖霞市| 诸暨市| 集贤县| 保德县| 兰州市| 仁怀市| 连江县| 白山市| 灵武市| 逊克县| 区。| 万州区| 铜陵市|