快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Android应用中怎么对RecyclerView进行更新-创新互联

这期内容当中小编将会给大家带来有关Android应用中怎么对RecyclerView进行更新,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联服务项目包括金坛网站建设、金坛网站制作、金坛网页制作以及金坛网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,金坛网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到金坛省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一般在使用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进行更新-创新互联
文章源于:http://6mz.cn/article/dcepgj.html

其他资讯