用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...