代码之家  ›  专栏  ›  技术社区  ›  user9317657

如何使用SwipeRefreshLayout的片段控制ViewPager

  •  0
  • user9317657  · 技术社区  · 7 年前

    在我的应用程序中,我使用 FragmentStatePagerAdapter 有一个 fragment ,我在 adapter 。在我的 Fragment 我有一个 SwipeRefreshLayout 和a 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 回复  |  直到 7 年前
        1
  •  0
  •   Mobile Team ADR-Flutter    7 年前

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