用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

上拉加载下拉刷新部分代码

2016-12-16 作者: cwm1996举报

[android]代码库

//MainActivity 代码
package com.example.loadrefresh;
 
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
import com.example.adapter.Adapter1;
import com.example.bean.Bean;
import com.example.bean.Mylist;
import com.example.view.XListView;
import com.example.view.XListView.IXListViewListener;
import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
 
import android.R.integer;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.ListView;
 
public class MainActivity extends Activity implements IXListViewListener {
 
    private XListView lv;
    private int num=1;
    private URL url;
    List<Mylist> list=new ArrayList<Mylist>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (XListView) findViewById(R.id.list);
        //初始化时加载数据
        getdata("initialize", num);
        //开启加载更多
        lv.setPullLoadEnable(true);
        //上拉加载,下拉刷新监听
        lv.setXListViewListener(this);
    }
    //下拉刷新
    @Override
    public void onRefresh() {
        // TODO Auto-generated method stub
        num+=1;
        getdata("Refresh", num);
    }
    //上拉加载
    @Override
    public void onLoadMore() {
        // TODO Auto-generated method stub
        num+=1;
        getdata("Load", num);
    }
    private Adapter1 adapter1;
    //查询数据
    public void getdata(final String string,int num){
        HttpUtils httpUtils=new HttpUtils();
        String string2="http://v.juhe.cn/weixin/query?key=484057f2721591bc4730f6b370c7ff31&pno="+num;
        httpUtils.send(HttpMethod.GET, string2, new RequestCallBack<String>(){
            @Override
            public void onFailure(HttpException arg0, String arg1) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onSuccess(ResponseInfo<String> arg0) {
                // TODO Auto-generated method stub
                String string3 = arg0.result;
                Bean bean = new Gson().fromJson(string3, Bean.class);
                adapter1 = new Adapter1(MainActivity.this, list);
                //判断是否为初始化数据
                if(string.equals("initialize")){
                    list.addAll(bean.result.list);
                    lv.setAdapter(adapter1);
                }else
                    //判断是否是上拉加载
                    if(string.equals("Load")){
                        //直接刷新适配器
                        list.addAll(bean.result.list);
                        adapter1.notifyDataSetChanged();
                        lv.stopLoadMore();
                    }else
                        //判断是否是下拉刷新
                        if(string.equals("Refresh")){
                            //创建另一个集合
                            List<Mylist> list2=new ArrayList<Mylist>();
                            list2.clear();
                            //将数据添加进list2
                            list2.addAll(bean.result.list);
                            //将list2放进list集合(而且是放进list集合的最前方)
                            list.addAll(0, list2);
                            //重新创建适配器添加数据
                            adapter1 = new Adapter1(MainActivity.this, list);
                            lv.setAdapter(adapter1);
                            adapter1.notifyDataSetChanged();
                            //关闭刷新
                            lv.stopRefresh();
                            //获取上一次刷新时间
                            SimpleDateFormat dateFormat=new SimpleDateFormat("HH:mm:ss");
                            Date date=new Date();
                            dateFormat.format(date);
                            lv.setRefreshTime(dateFormat.format(date));
                        }
            }
        });
    }
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...