如何使用带有 SwipeRefreshLayout 的片段来控制 ViewPager

How to control ViewPager with a fragment with SwipeRefreshLayout

在我的应用程序中,我将 FragmentStatePagerAdapter 与一个 fragment 一起使用,我在 adapter 中使用了 3 次。在我的 Fragment 中,我有一个 SwipeRefreshLayout 和一个 Retrofit 。我的问题是,当我在页面之间滑动并使用 SwipRefresh 时,我的内容重复了。我怎样才能停止这种重复。

谢谢

swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            if (!isNetworkAvailable()) {
                Toast.makeText(getActivity(), "No Internet", Toast.LENGTH_SHORT).show();
            } else if (isNetworkAvailable()) {
                if (flag) {
                    listDataHeader.clear();
                    adapter = new ExpandableListAdapter(getActivity(), listDataHeader, listDataChild);
                    expListView.setAdapter(adapter);
                    getData();
                    adapter.notifyDataSetChanged();
                } else {
                    listDataHeader.clear();
                    adapter = new ExpandableListAdapter(getActivity(), listDataHeader, listDataChild);
                    expListView.setAdapter(adapter);
                    getData();
                    adapter.notifyDataSetChanged();
                }
            }
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    swipeRefreshLayout.setRefreshing(false);
                }

            }, 4000);
        }
    });

当您使用此 getData() 获取数据时;届时 arraylist 或 list 将被清除,然后新的响应绑定到 list 或 arraylist。