xlistview+httpUtils

package com.example.listview_;

import java.util.ArrayList;
import java.util.List;

import com.example.day07_listview_.XListView.IXListViewListener;
import com.example.day07_listview_.bean.Bean;
import com.example.day07_listview_.bean.Data;
import com.example.day07_listview_.bean.News;
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 com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.listener.PauseOnScrollListener;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity implements IXListViewListener {
	String path = "http://ic.snssdk.com/2/article/v25/stream/?category=news_society&count=20&min_behot_time=1476067842&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1476067224&loc_mode=5&lac=4527&cid=28883&iid=5567581950&device_id=23365548172&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SCH-I919U&os_api=19&os_version=4.4.2&uuid=352284041184817&openudid=1111111111110000";
	// 鍖哄垎璇锋眰涓嬫潵鐨勬暟鎹槸鍋氫粈涔堢敤鐨�
	// 涓嬫媺鍒锋柊
	public static final int REFRESH = 1;
	// 涓婃媺鍔犺浇鏇村
	public static final int LOADMORE = 2;
	// 鍒濆鍖�
	public static final int INIT = 3;

	private MyBaseAdapter myBaseAdapter;

	List<Data> list = new ArrayList<Data>();
	Handler handler = new Handler() {

		public void handleMessage(android.os.Message msg) {
			// 鍙栧嚭鏁版嵁
			Bean bean = (Bean) msg.obj;
			int tag = msg.arg1;

			switch (tag) {
			// 绗竴娆″姞杞芥暟鎹�
			case INIT:
				// 鎶婃湁鏁版嵁鐨勯泦鍚堟坊鍔犲埌鍙︿竴涓泦鍚堥噷
				list.addAll(bean.data);
				myBaseAdapter = new MyBaseAdapter(MainActivity.this, list);
				xListView.setAdapter(myBaseAdapter);
				break;
			// 鍒锋柊鏁版嵁
			case REFRESH:
				// 娓呯┖闆嗗悎
				list.clear();
				// 鎶婃湁鏁版嵁鐨勯泦鍚堟坊鍔犲埌鍙︿竴涓泦鍚堥噷
				list.addAll(bean.data);
				myBaseAdapter.notifyDataSetChanged();
				stopXListView();
				break;
			// 鍔犺浇鏇村
			case LOADMORE:
				// 鎶婃湁鏁版嵁鐨勯泦鍚堟坊鍔犲埌鍙︿竴涓泦鍚堥噷
				list.addAll(bean.data);
				myBaseAdapter.notifyDataSetChanged();
				stopXListView();
				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.setPullLoadEnable(true);
		// xListView涓婃媺涓嬫媺鐩戝惉
		xListView.setXListViewListener(this);
		// 绗竴娆¤幏鍙栨暟鎹�
		getData(INIT);

		xListView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				
				String url = list.get(position-1).share_url;

				startActivity(new Intent(MainActivity.this,
						SecondActivity.class).putExtra("url", url));

			}
		});
//listView婊戝姩鐘舵�佹椂,imageloader涓嶅姞杞藉浘鐗�
		xListView.setOnScrollListener(new PauseOnScrollListener(ImageLoader.getInstance(), true, true));
		
	}

	@Override
	// 涓嬫媺鍒锋柊
	public void onRefresh() {

		getData(REFRESH);

	}

	@Override
	// 涓婃媺鍔犺浇
	public void onLoadMore() {
		getData(LOADMORE);
	}

	public void stopXListView() {

		xListView.stopLoadMore();
		xListView.stopRefresh();

		xListView.setRefreshTime("2016-10-10 11:11:11");

	}

	// 鑱旂綉鑾峰彇鏁版嵁
	public void getData(final int tag) {
		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) {
				// 鍙栧嚭json
				String s = arg0.result;
				System.out.println(s);
				// 瑙f瀽json
				Gson gson = new Gson();
				Bean bean = gson.fromJson(s, Bean.class);

				// 鍙戦�乯son
				Message msg = Message.obtain();
				msg.obj = bean;
				msg.arg1 = tag;
				handler.sendMessage(msg);
			}
		});
	}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值