刷新recyclerview后数据来了两次

Posted

技术标签:

【中文标题】刷新recyclerview后数据来了两次【英文标题】:Data is coming twice after refreshing recyclerview 【发布时间】:2017-02-09 01:13:02 【问题描述】:

我正在使用滑动标签开发应用程序。刷新一个标签中的数据后,当我转到另一个标签时,文本出现两次。如何解决这个问题。我正在使用适配器类。

这是我的代码。

   mSwipeRefreshLayout = (SwipeRefreshLayout) v.findViewById(R.id.swifeRefresh);
    mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() 
        @Override
        public void onRefresh() 
            AsyncFetch();

            upcomingJobs.clear();
            upcomingJobs.addAll(upcomingJobs);

            // fire the event
            uAdapter.notifyDataSetChanged();


            // uAdapter.notifyDataSetChanged();
        
    );
    mSwipeRefreshLayout.setRefreshing(false);

【问题讨论】:

【参考方案1】:

在你的adapterClass中添加这个函数:

public void clearData() 
    int size = this.your_list.size();
    if (size > 0) 
        for (int i = 0; i < size; i++) 
            this.your_list.remove(0);
        

        this.notifyItemRangeRemoved(0, size);
    

然后在你的开头调用它

onRefresh()

【讨论】:

以上是关于刷新recyclerview后数据来了两次的主要内容,如果未能解决你的问题,请参考以下文章

【delphi】动态刷新listview,如果条目过多,会出问题,求解

剑道网格刷新(数据绑定两次)

TabScroll 加载部分一次,然后第二次刷新,看起来部分加载了两次

自定义RecyclerView实现下拉刷新,加载更多

Android RecyclerView刷新数据无效的其中一个原因

在 API 上添加新数据后如何在 android studio 上刷新 RecyclerView?