刷新列表视图重复内容

Refreshing listview duplicates content

我有一个用数组列表填充的列表视图。但是,无论何时我使用拉动刷新,列表视图中的数据都会重复,即使我在填充之前清除了 arraylist。这是我的数组列表

List<TimeItems> myList = new ArrayList<TimeItems>();

这就是我填充适配器的方式

for (int in = 0; in <= video.size() - 1; in ++) {
                    String a = vDancers.get(in);
                    String b = video.get(in);
                    String c = vName.get(in);

                    TimeLineItems item = new TimeLineItems(a,b,c);
                    myList.add(item);
                }

                Collections.sort(myList);
                you = new MyVideoAdapter(getActivity(), myList,nLikes,nComments,nRepost);
                //you.notifyDataSetChanged();
                listView.setAdapter(you);

这就是我在下拉刷新时清除 myList 的方式

 listView.setOnRefreshListener(new OnRefreshListener() {
        @Override
        public void onRefresh() {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    you = null;
                    nComments.clear();
                    nRepost.clear();
                    nRepost.clear();
                    myList.clear();

                    parseFetch();
                    listView.onRefreshComplete();
                }
            }, 5000);
        }
    });

你是我的 BaseAdapter,parseFetch() 是我加载网络数据的方法。我如何在刷新之前完全清除 myList,这样我的列表视图中就没有重复项了?感谢您的帮助

在列表适配器上调用 notifyDataSetChanged()。 删除此行 you = null;

myList.clear(); you.notifyDataSetChanged();

根据我看到的代码片段,我的印象是您使用的是 ArrayAdapter。如果是 really.the 情况,为什么要在适配器 you 初始化后操作 myList

你所能做的就是打电话

you.clear()
// add your data with you.add(item)

我明白了。我也没有清除我用来填充 myList 的其他数组。在记录各个阶段后,我意识到这些数组是重复的,所以我只需要清除它们。这是最后的 work.Thanks @Lavkush2oct 和 @Vesko 寻求帮助。

listView.setOnRefreshListener(new OnRefreshListener() {
    @Override
    public void onRefresh() {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                you = null;
                nComments.clear();
                nRepost.clear();
                nRepost.clear();
                myList.clear();
                vDancers.clear();
                video.clear();
                vName.clear();
                you.notifyDataSetChanged();
                parseFetch();
                listView.onRefreshComplete();
            }
        }, 5000);
    }
});