亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 更新RecyclerView的好方法

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

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

  這個時候就需要只是修改需要修改的數(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的好方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論