import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import org.xmlpull.v1.XmlPullParser;
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.Toast;
import com.bwei.adapter.ZixunAdapter;
import com.bwei.bean.News;
import com.bwei.yuekao.R;
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;
public class ZiXunFragment extends Fragment implements IXListViewListener {
private int pageIndex = 0;
private XListView xlv_zixun;
private List<News> list;
private int id;
private String title;
private String body;
private String pubDate;
private String path="http://www.oschina.net/action/api/news_list?pageIndex=";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.zixun_fragment, container, false);
// 找控件
xlv_zixun = (XListView) view.findViewById(R.id.xlv_zixun);
xlv_zixun.setPullLoadEnable(true);
xlv_zixun.setXListViewListener(this);
initData();
// xlv_zixun.setAdapter(new ZixunAdapter(getActivity(),
// list));
return view;
}
private void initData() {
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpMethod.GET, path + (pageIndex++),
new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
Toast.makeText(getActivity(), "请检查网络....", 0).show();
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
ByteArrayInputStream inputStream = new ByteArrayInputStream(
result.getBytes());
list = new ArrayList<News>();
XmlPullParser parser = Xml.newPullParser();
try {
parser.setInput(inputStream, "utf-8");
int type = parser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String nodeName = parser.getName();
switch (type) {
case XmlPullParser.START_TAG:
if ("id".equals(nodeName)) {
id = Integer.parseInt(parser.nextText());
} else if ("title".equals(nodeName)) {
title = parser.nextText();
} else if ("body".equals(nodeName)) {
body = parser.nextText();
} else if ("pubDate".equals(nodeName)) {
pubDate = parser.nextText();
}
break;
case XmlPullParser.END_TAG:
if ("news".equals(nodeName)) {
list.add(new News(id, title, body,
pubDate));
}
break;
}
type=parser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
xlv_zixun.setAdapter(new ZixunAdapter(getActivity(),
list));
}
});
}
private void onLoad() {
xlv_zixun.stopRefresh();
xlv_zixun.stopLoadMore();
xlv_zixun.setRefreshTime("刚刚");
}
@Override
public void onRefresh() {
list.clear();
initData();
onLoad();
}
@Override
public void onLoadMore() {
initData();
onLoad();
}
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import org.xmlpull.v1.XmlPullParser;
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.Toast;
import com.bwei.adapter.ZixunAdapter;
import com.bwei.bean.News;
import com.bwei.yuekao.R;
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;
public class ZiXunFragment extends Fragment implements IXListViewListener {
private int pageIndex = 0;
private XListView xlv_zixun;
private List<News> list;
private int id;
private String title;
private String body;
private String pubDate;
private String path="http://www.oschina.net/action/api/news_list?pageIndex=";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.zixun_fragment, container, false);
// 找控件
xlv_zixun = (XListView) view.findViewById(R.id.xlv_zixun);
xlv_zixun.setPullLoadEnable(true);
xlv_zixun.setXListViewListener(this);
initData();
// xlv_zixun.setAdapter(new ZixunAdapter(getActivity(),
// list));
return view;
}
private void initData() {
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpMethod.GET, path + (pageIndex++),
new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
Toast.makeText(getActivity(), "请检查网络....", 0).show();
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
String result = arg0.result;
ByteArrayInputStream inputStream = new ByteArrayInputStream(
result.getBytes());
list = new ArrayList<News>();
XmlPullParser parser = Xml.newPullParser();
try {
parser.setInput(inputStream, "utf-8");
int type = parser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String nodeName = parser.getName();
switch (type) {
case XmlPullParser.START_TAG:
if ("id".equals(nodeName)) {
id = Integer.parseInt(parser.nextText());
} else if ("title".equals(nodeName)) {
title = parser.nextText();
} else if ("body".equals(nodeName)) {
body = parser.nextText();
} else if ("pubDate".equals(nodeName)) {
pubDate = parser.nextText();
}
break;
case XmlPullParser.END_TAG:
if ("news".equals(nodeName)) {
list.add(new News(id, title, body,
pubDate));
}
break;
}
type=parser.next();
}
} catch (Exception e) {
e.printStackTrace();
}
xlv_zixun.setAdapter(new ZixunAdapter(getActivity(),
list));
}
});
}
private void onLoad() {
xlv_zixun.stopRefresh();
xlv_zixun.stopLoadMore();
xlv_zixun.setRefreshTime("刚刚");
}
@Override
public void onRefresh() {
list.clear();
initData();
onLoad();
}
@Override
public void onLoadMore() {
initData();
onLoad();
}