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); } }); } }
xlistview+httpUtils
猜你喜欢
转载自zhengaihua.iteye.com/blog/2333153
今日推荐
周排行