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

Android 更新RecyclerView的好方法

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

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

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

  局部更新的代碼如下:

private int position;//當(dāng)前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的好方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

韶山市| 运城市| 广东省| 饶阳县| 林西县| 囊谦县| 兴山县| 抚远县| 沙坪坝区| 景德镇市| 邯郸县| 江津市| 滁州市| 西吉县| 石渠县| 漳州市| 会昌县| 金湖县| 洛阳市| 碌曲县| 丹寨县| 台南市| 白朗县| 新乡县| 嫩江县| 普安县| 荆门市| 平塘县| 平乡县| 阜南县| 资源县| 屯门区| 图木舒克市| 高台县| 吉木萨尔县| 专栏| 临清市| 志丹县| 桐城市| 桃江县| 北海市|