引用xlistView
2016-06-30 14:45
246 查看
package com.example.monthtest3; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; 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 me.maxwin.view.XListView; import me.maxwin.view.XListView.IXListViewListener; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Xml; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; public class Fragment1 extends Fragment implements IXListViewListener{ private XListView xListView; List<News_Info> newsList=new ArrayList<News_Info>(); boolean isRefresh = false; private int index=0; MyBaseAdapter myBaseAdapter; private News_Info news_Info; String path = "http://www.oschina.net/action/api/news_list"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view=inflater.inflate(R.layout.fragment1, container,false); xListView = (XListView) view.findViewById(R.id.xListView); return view; } @Override public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onActivityCreated(savedInstanceState); xListView.setPullLoadEnable(true); xListView.setXListViewListener(this); getinfo(); } public void getinfo(){ HttpUtils httpUtils = new HttpUtils(); String myPath = path + "?catalog=1&pageIndex=" + index + "&pageSize=20"; httpUtils.send(HttpMethod.GET, myPath, 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 result = arg0.result; ByteArrayInputStream arrayInputStream=new ByteArrayInputStream(result.getBytes()); ArrayList<News_Info> startInfo=startInfo(arrayInputStream); if(isRefresh){ newsList.clear(); } newsList.addAll(startInfo); System.out.println("xdgtrhtdgsrfserfresrf"); if(myBaseAdapter==null){ myBaseAdapter=new MyBaseAdapter(getActivity(),newsList); xListView.setAdapter(myBaseAdapter); }else{ myBaseAdapter.notifyDataSetChanged(); } onLoad(); } private ArrayList<News_Info> startInfo(InputStream inputStream) { // TODO Auto-generated method stub ArrayList<News_Info> infoList2=new ArrayList<News_Info>(); XmlPullParser xmlPullParser=Xml.newPullParser(); try { xmlPullParser.setInput(inputStream,"utf-8"); int eventType = xmlPullParser.getEventType(); while (eventType!=xmlPullParser.END_DOCUMENT) { String name = xmlPullParser.getName(); switch (eventType) { case XmlPullParser.START_TAG: if("news".equals(name)){ news_Info=new News_Info(); }else if("id".equals(name)){ news_Info.setId(Integer.parseInt(xmlPullParser.nextText())); }else if("title".equals(name)){ news_Info.setTitle(xmlPullParser.nextText()); }else if("body".equals(name)){ news_Info.setBody(xmlPullParser.nextText()); } break; case XmlPullParser.END_TAG: if("news".equals(name)){ infoList2.add(news_Info); System.out.println(news_Info+"++++++++++++++++++++++"); news_Info=null; } break; default: break; } eventType=xmlPullParser.next(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return infoList2; } }); // // @Override // public void onRefresh() { // // TODO Auto-generated method stub // // } // // @Override // public void onLoadMore() { // // TODO Auto-generated method stub // // } } @Override public void onRefresh() { // TODO Auto-generated method stub index=0; isRefresh=true; } @Override public void onLoadMore() { // TODO Auto-generated method stub index++; isRefresh=false; getinfo(); } private void onLoad() { // TODO Auto-generated method stub xListView.stopRefresh(); xListView.stopLoadMore(); xListView.setRefreshTime("刚刚"); } }
相关文章推荐
- [无人值守安装操作系统]__RHEL6__FTP+TFTP+DHCP+Kickstart+PXE
- Linux raw socket
- maven 本地jar包 引入 pom
- pushdom
- Android应用开发学习—Toast使用方法
- EventBus使用详解(一)——初步使用EventBus
- c++初识以及函数重载
- java内存模型---学习笔记
- #!/bin/sh与#!/bin/bash的区别
- 支付宝集成过程详解Demo
- 行走在懂你的路上(2016年半年总结)
- 字符串逆序总结
- 最长上升子序列
- RMI、RPC和JMS的比较
- how to install an older version of package via NuGet?
- 什么时候写new ,什么时候不写new
- 行走在懂你的路上(2016年半年总结)
- Matlab loss 曲线
- BAT 面试指南
- flume 配置说明