上拉刷新 下拉加载

 private void initViews() {
        listView = view.findViewById(R.id.pull_to_refresh_listview);
        //开启下拉和上啦刷新
        listView.setMode(PullToRefreshBase.Mode.BOTH);
        //设置监听
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                //刷新
                page = 1;
                getDataFromNet();
            }


            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                //加载更多
                page++;
                getDataFromNet();
            }
        });
    }


    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        myListAdapter = new MyListAdapter(getContext(), list);


        listView.setAdapter(myListAdapter);




    }


    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            //请求网络数据数据
            getDataFromNet();
        }
    }


    private void getDataFromNet() {
        HttpUtils httpUtils = HttpUtils.getInstance();
        httpUtils.get(HttpConfig.ANDROID_URL + page);
        httpUtils.setHttpUtilsListener(new HttpUtils.HttpUtilListener() {
            @Override
            public void getSuccess(String json) {
                Log.d(TAG, "---数据---: " + json);
                Gson gson = new Gson();
                AndroidBean androidBean = gson.fromJson(json, AndroidBean.class);


                if (page == 1) {
                    list.clear();
                }


                list.addAll(androidBean.getResults());


                myListAdapter.notifyDataSetChanged();


                listView.onRefreshComplete();


            }


            @Override
            public void getError(String error) {
                Log.d(TAG, "getError: " + error);
            }
        });
    }
    //


    public static AndroidFragment create(String title) {
        Bundle bundle = new Bundle();
        bundle.putString("title", title);
        AndroidFragment f = new AndroidFragment();
        f.setArguments(bundle);
        return f;
    }

猜你喜欢

转载自blog.csdn.net/liu_qunfeng/article/details/80506111