如何使用SwipeRefreshLayout片段控制ViewPager

时间:2018-03-13 10:00:42

标签: android fragment 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);
        }
    });

1 个答案:

答案 0 :(得分:0)

使用此getData()获取数据时;那个时候arraylist或list会清除然后新的响应绑定到列表或arraylist。