文章标题

来源:互联网 发布:jmeter在linux下安装 编辑:程序博客网 时间:2024/06/06 12:47

上拉加载,下拉刷新(httputils,分页的加载)

必须写的东西(能刷新,,能加载,,相当于 权限吧)

    lv.setPullLoadEnable(true);    lv.setPullRefreshEnable(true);    lv.setXListViewListener(this);

请求数据(oncreate 中调用这个方法( initData(“刷新”)))

private void initData(final String sr) {

    String path = ""            + id;    //创建httputils    HttpUtils hu = new HttpUtils();    hu.send(HttpMethod.GET, path, new RequestCallBack<String>() {        @Override        public void onFailure(HttpException arg0, String arg1) {            //失败            Toast.makeText(DetailActivity.this, "请检查网络", 0).show();        }        @Override        public void onSuccess(ResponseInfo<String> arg0) {            // 请求成功            String str = arg0.result;            // 进行json解析            Gson gson = new Gson();            News ne = gson.fromJson(str, News.class);            List<ListBean> list = ne.data.list;            Log.d("TAG", list.toString());            if (sr.equals("刷新")) {                // 全局变量又new出一个list(ArrayList<MyList> listall=new                // ArrayList<MyList>();)                // 如果是刷新的话,,从第一条开始加                listall.addAll(0, list);            } else {                // 加载                listall.addAll(list);            }            setAdapter();        }    });}

刷新加载的方法

public void onRefresh() {    id=id+1;    initData("刷新");    onLoad();}@Overridepublic void onLoadMore() {    id = id + 1;    initData("加载");    onLoad();}

上拉加载,下拉刷新(httpclient,分页的加载,,handler)

private void initData(final String info) {

    new Thread() {        public void run() {            String path = ""                    + k;            String str = NetWork.getpath(path);            Gson gson = new Gson();            News ne = gson.fromJson(str, News.class);            list = ne.data.list;            if (info.equals("刷新")) {                //ln是定义的一个全局变量(List<ListBean> ln = new ArrayList<ListBean>();)                ln.addAll(0, list);            } else {                ln.addAll(list);            }            // 添加适配器            Message msg = new Message();            msg.obj = list;            msg.what = 1;            handler.sendMessage(msg);        };    }.start();}

handler

Handler handler = new Handler() {

    public void handleMessage(Message msg) {       int j = msg.what;        list = (List<ListBean>) msg.obj;        if (msg.what == 1) {            if (adapter == null) {                adapter = new MyAdapter(DetailActivity.this, ln);                lv.setAdapter(adapter);            } else {                adapter.notifyDataSetChanged();            }        }    };};
0 0
原创粉丝点击