您的位置:首页 > 其它

引用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("刚刚");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: