上拉加载更多的数据叠加

package com.bwie.test.baweistudent.fragment;

import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;

import com.bwie.test.baweistudent.R;
import com.bwie.test.baweistudent.adapter.XLV_Confirm_Adapter;
import com.bwie.test.baweistudent.application.BaseApplication;
import com.bwie.test.baweistudent.bean.StuInfo;
import com.bwie.test.baweistudent.net.HttpUrl;
import com.bwie.test.baweistudent.ui.XListView;
import com.bwie.test.baweistudent.utils.GsonUtils;
import com.okhttplib.CacheLevel;
import com.okhttplib.CallbackOk;
import com.okhttplib.HttpInfo;
import com.okhttplib.OkHttpUtil;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Created by Administrator on 2016/7/22.
 */
public class Confirm_Fragment extends BaseFragment implements XListView.IXListViewListener {

    private View view;
    private XListView xlv_confirm;
    private BaseApplication application;
    private String tk;
    private int pn = 1;
    private XLV_Confirm_Adapter xlv_confirm_adapter;
    private List<StuInfo.ListBean> allList = new ArrayList<StuInfo.ListBean>();

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
        }
    };

    @Override
    public View getView(LayoutInflater inflater) {
        view = inflater.inflate(R.layout.confirm_fragment, null);
        findView();
        application = (BaseApplication) getActivity().getApplication();
        tk = application.getTk();
        tk=getActivity().getSharedPreferences("isLogin",getActivity().MODE_PRIVATE).getString("token","");
        return view;
    }

    public void findView() {
        xlv_confirm = (XListView) view.findViewById(R.id.xlv_confirm);
        xlv_confirm.setPullLoadEnable(true);
        xlv_confirm.setXListViewListener(this);
    }

    @Override
    public void initData() {

        findView();

        OkHttpUtil.Builder().setCacheLevel(CacheLevel.FIRST_LEVEL).setConnectTimeout(30).build(getActivity()).doGetAsync(HttpInfo.Builder().setUrl(HttpUrl.getStuInfo + "flag=" + 0 + "&&pn=" + 1 + "&&tk=" + tk).build(), new CallbackOk() {
            @Override
            public void onResponse(HttpInfo info) throws IOException {
                if (info.isSuccessful()) {
                    String result = info.getRetDetail();
                    StuInfo stuInfo = GsonUtils.jsonToObject(result, StuInfo.class);
                    List<StuInfo.ListBean> list = stuInfo.getList();
                    allList.addAll(list);
                    if(xlv_confirm_adapter==null){
                        xlv_confirm_adapter = new XLV_Confirm_Adapter(getActivity(), allList,tk);
                        xlv_confirm.setAdapter(xlv_confirm_adapter);
                    }else{
                        xlv_confirm_adapter.notifyDataSetChanged();
                    }
                } else {
                    Toast.makeText(getActivity(), "网络请求失败!!!", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    @Override
    public void setData() {
    }


    @Override
    public void onRefresh() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                OkHttpUtil.Builder().setCacheLevel(CacheLevel.FIRST_LEVEL).setConnectTimeout(30).build(getActivity()).doGetAsync(HttpInfo.Builder().setUrl(HttpUrl.getStuInfo + "flag=" + 0 + "&&pn=" + 1 + "&&tk=" + tk).build(), new CallbackOk() {
                    @Override
                    public void onResponse(HttpInfo info) throws IOException {
                        if (info.isSuccessful()) {
                            String result = info.getRetDetail();
                            StuInfo stuInfo = GsonUtils.jsonToObject(result, StuInfo.class);
                            List<StuInfo.ListBean> list = stuInfo.getList();
                            allList.addAll(list);
                            if(xlv_confirm_adapter==null){
                                xlv_confirm_adapter = new XLV_Confirm_Adapter(getActivity(), allList,tk);
                                xlv_confirm.setAdapter(xlv_confirm_adapter);
                            }else{
                                xlv_confirm_adapter.notifyDataSetChanged();
                            }
                        } else {
                            Toast.makeText(getActivity(), "网络请求失败!!!", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
                onLoad();
            }
        }, 3000);
    }

    @Override
    public void onLoadMore() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                pn++;
                OkHttpUtil.Builder().setCacheLevel(CacheLevel.FIRST_LEVEL).setConnectTimeout(30).build(getActivity()).doGetAsync(HttpInfo.Builder().setUrl(HttpUrl.getStuInfo + "flag=" + 0 + "&&pn=" + pn + "&&tk=" + tk).build(), new CallbackOk() {
                    @Override
                    public void onResponse(HttpInfo info) throws IOException {
                        if (info.isSuccessful()) {
                            String result = info.getRetDetail();
                            StuInfo stuInfo = GsonUtils.jsonToObject(result, StuInfo.class);
                            List<StuInfo.ListBean> list = stuInfo.getList();
                            allList.addAll(list);
                            if(xlv_confirm_adapter==null){
                                xlv_confirm_adapter = new XLV_Confirm_Adapter(getActivity(), allList,tk);
                                xlv_confirm.setAdapter(xlv_confirm_adapter);
                            }else{
                                xlv_confirm_adapter.notifyDataSetChanged();
                            }
                        } else {
                            Toast.makeText(getActivity(), "网络请求失败!!!", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
                onLoad();
            }
        }, 3000);
    }

    private void onLoad() {
        xlv_confirm.stopRefresh();
        xlv_confirm.stopLoadMore();
        //获取系统当前时间
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd  HH:mm");
        String nowTime = format.format(new Date());
        xlv_confirm.setRefreshTime(nowTime);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值