下拉刷新/下拉加载

package com.example.shuaxi_jiazai;



import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;

import org.com.cctest.view.XListView;
import org.com.cctest.view.XListView.IXListViewListener;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

import com.example.shuaxi_jiazai.Data.DataBean;
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;

public class MainActivity extends Activity implements IXListViewListener {
	String refresh = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&min_behot_time=1465266200&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1465265107&loc_mode=5&lac=4527&cid=28883&iid=4464422609&device_id=17258390367&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SAMSUNG&os_api=19&os_version=4.4.4&uuid=353040417908000&openudid=84c1c7b192991cc6";
    String more="http://ic.snssdk.com/2/article/v25/stream/?category=news_hot&count=20&max_behot_time=1465886546&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1465889498&loc_mode=5&lac=4527&cid=28883&iid=4464422609&device_id=17258390367&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SAMSUNG&os_api=19&os_version=4.4.4&uuid=353040417908000&openudid=84c1c7b192991cc6";
	LinkedList<DataBean> list = new LinkedList<DataBean>();

	Handler handler = new Handler() {
		private MyAdapter myAdapter;

		@SuppressWarnings("unchecked")
		public void handleMessage(android.os.Message msg) {

			switch (msg.what) {
			// 加载初始化数据
			case 1:
				list = (LinkedList<DataBean>) msg.obj;
				myAdapter = new MyAdapter(MainActivity.this, list);

				xlistView.setAdapter(myAdapter);
				// loadOver();
				break;
			// 刷新
			case 2:
				list.clear();
				for (DataBean dataBean : (LinkedList<DataBean>)msg.obj) {
					//象开头添加
					list.addFirst(dataBean);
				}
				// 刷新适配器
				myAdapter.notifyDataSetChanged();
				loadOver();
				break;
			// 加载更多
			case 3:

				for (DataBean dataBean : (LinkedList<DataBean>)msg.obj) {
					//象结尾添加
					list.addLast(dataBean);
				}
				// 刷新适配器
				myAdapter.notifyDataSetChanged();
				loadOver();
				break;
			}

		};

	};

	private XListView xlistView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		xlistView = (XListView) findViewById(R.id.xlistView);

		// 下拉刷新是否激活
		xlistView.setPullRefreshEnable(true);
		// 加载更多是否激活
		xlistView.setPullLoadEnable(true);
		// xlistView刷新和加载更多的监听
		xlistView.setXListViewListener(this);

		getData(1,refresh);


	}

	public void getData(final int i,String path) {

		HttpUtils httpUtils = new HttpUtils();
		
		httpUtils.configCurrentHttpCacheExpiry(0);
		
		httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {

			@Override
			public void onFailure(HttpException arg0, String arg1) {

			}

			@Override
			public void onSuccess(ResponseInfo<String> arg0) {

				String result = arg0.result;

				Gson gson = new Gson();

				Data data = gson.fromJson(result, Data.class);
				Message msg = Message.obtain();
				msg.obj = data.getData();
				msg.what = i;
				handler.sendMessage(msg);
			}
		});

	}

	// 停止加载更多/刷新
	public void loadOver() {
		// 停止加载更多
		xlistView.stopLoadMore();
		// 停止刷新
		xlistView.stopRefresh();
		//设置刷新时的时间
		xlistView.setRefreshTime(getTime());
		
		
	}

	/**
	 * 刷新
	 */
	@Override
	public void onRefresh() {

		getData(2,refresh);

	}

	/**
	 * 加载更多
	 */
	@Override
	public void onLoadMore() {

		getData(3,more);
	}

public String getTime(){
	
	
	SimpleDateFormat format=new SimpleDateFormat("hh:mm:ss"); 
	
	Date date=new Date();
	String time = format.format(date);
	return time;
	
	
}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值