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";
	// Coaxing Xuanfeng to coax.
	// Juanmai Yifengqi
	public static final int REFRESH = 1;
	// Zhuanxiu's Zhuanxuan Village
	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) {
			// 頧嚭鏁 version
			Bean bean = (Bean) msg.obj;
			int tag = msg.arg1;

			switch (tag) {
			// Quilted
			case INIT:
				// 驃鹁鏁 version
				list.addAll(bean.data);
				myBaseAdapter = new MyBaseAdapter(MainActivity.this, list);
				xListView.setAdapter(myBaseAdapter);
				break;
			// 馒韊鏁 version
			case REFRESH:
				// 娓呯┖ board 嗗悎
				list.clear();
				// 驃鹁鏁 version
				list.addAll(bean.data);
				myBaseAdapter.notifyDataSetChanged();
				stopXListView();
				break;
			// 锷抺 pouring Xuan Village
			case LOADMORE:
				// 驃鹁鏁 version
				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);
		// This is the name of the taboo
		xListView.setPullLoadEnable(true);
		// xListView trickle
		xListView.setXListViewListener(this);
		// Quilting
		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 bitch.
		xListView.setOnScrollListener(new PauseOnScrollListener(ImageLoader.getInstance(), true, true));
		
	}

	@Override
	// Juanmai Yifengqi
	public void onRefresh() {

		getData(REFRESH);

	}

	@Override
	// trickle
	public void onLoadMore() {
		getData(LOADMORE);
	}

	public void stopXListView() {

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

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

	}

	// The embroidered flag of the embroidered Luanfeng peak
	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);
				// Nautilus 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);
			}
		});
	}

}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326536218&siteId=291194637