XML解析
2016-04-01 09:12
302 查看
new Thread(new Runnable(){
@Override
public void run() {
XStream xs = new XStream();
xs.processAnnotations(ZiXun.class);
try {
//ZiXun为Bean类,可更改
ZiXun fromXML = (ZiXun) xs.fromXML(new URL(url[position]));
list=fromXML.getNewslist().getNews();
} catch (MalformedURLException e) {
e.printStackTrace();
}
getActivity().runOnUiThread(new Runnable(){
@Override
public void run() {
adapter=new MyAdapter(getActivity(), list);
mListView.setAdapter(adapter);
}
});
}
}).start();
//第二种方式带刷新
package com.bwie.lv;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import com.bwie.lv.ZiXun.NewsList.News;
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.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment implements IXListViewListener {
private ArrayList<News> list;
private MyAdapter adapter;
private View view;
private XListView mListView;
private Handler mHandler;
private int start = 0;
private static int refreshCnt = 0;
private String url;
private int index=1;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment, container, false);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mListView = (XListView) view.findViewById(R.id.xListView);
mListView.setPullLoadEnable(true); // 上拉加载默认为false
mListView.setPullRefreshEnable(true);// 下拉刷新默认为true
mListView.setXListViewListener(this);
mHandler = new Handler();
getInfo();
}
private void getInfo() {
url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="+index+"&pageSize=10";
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
index++;
String xml = arg0.result;
XStream stream = new XStream(new DomDriver());
stream.processAnnotations(ZiXun.class);
ZiXun bean = (ZiXun) stream.fromXML(xml);
list = bean.newslist.news;
adapter = new MyAdapter(getActivity(), list);
mListView.setAdapter(adapter);
}
});
}
/* IXListViewListener接口的第一个方法,完成在刷新数据时的操作 */
@Override
public void onRefresh() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
start = ++refreshCnt;
getInfo();
adapter.notifyDataSetChanged();
onLoad();/* 设置头部刷新时间 */
// 为了获得上次刷新时间,不用下面新建adapter
}
}, 2000);
}
/* IXListViewListener接口的第二个方法,完成在上拉加载数据时的操作 */
@Override
public void onLoadMore() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
getInfo();
adapter.notifyDataSetChanged();
onLoad();/* 设置头部刷新时间 */
}
}, 2000);
}
/* 设置头部刷新时间 */
private void onLoad() {
mListView.stopRefresh();
mListView.stopLoadMore();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
String nowTime = df.format(new Date(System.currentTimeMillis()));// 获取当前系统时间
mListView.setRefreshTime(nowTime);// 释放时提示正在刷新时的当前时间
}
}
9741
@Override
public void run() {
XStream xs = new XStream();
xs.processAnnotations(ZiXun.class);
try {
//ZiXun为Bean类,可更改
ZiXun fromXML = (ZiXun) xs.fromXML(new URL(url[position]));
list=fromXML.getNewslist().getNews();
} catch (MalformedURLException e) {
e.printStackTrace();
}
getActivity().runOnUiThread(new Runnable(){
@Override
public void run() {
adapter=new MyAdapter(getActivity(), list);
mListView.setAdapter(adapter);
}
});
}
}).start();
//第二种方式带刷新
package com.bwie.lv;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import com.bwie.lv.ZiXun.NewsList.News;
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.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment implements IXListViewListener {
private ArrayList<News> list;
private MyAdapter adapter;
private View view;
private XListView mListView;
private Handler mHandler;
private int start = 0;
private static int refreshCnt = 0;
private String url;
private int index=1;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment, container, false);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mListView = (XListView) view.findViewById(R.id.xListView);
mListView.setPullLoadEnable(true); // 上拉加载默认为false
mListView.setPullRefreshEnable(true);// 下拉刷新默认为true
mListView.setXListViewListener(this);
mHandler = new Handler();
getInfo();
}
private void getInfo() {
url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="+index+"&pageSize=10";
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
index++;
String xml = arg0.result;
XStream stream = new XStream(new DomDriver());
stream.processAnnotations(ZiXun.class);
ZiXun bean = (ZiXun) stream.fromXML(xml);
list = bean.newslist.news;
adapter = new MyAdapter(getActivity(), list);
mListView.setAdapter(adapter);
}
});
}
/* IXListViewListener接口的第一个方法,完成在刷新数据时的操作 */
@Override
public void onRefresh() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
start = ++refreshCnt;
getInfo();
adapter.notifyDataSetChanged();
onLoad();/* 设置头部刷新时间 */
// 为了获得上次刷新时间,不用下面新建adapter
}
}, 2000);
}
/* IXListViewListener接口的第二个方法,完成在上拉加载数据时的操作 */
@Override
public void onLoadMore() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
getInfo();
adapter.notifyDataSetChanged();
onLoad();/* 设置头部刷新时间 */
}
}, 2000);
}
/* 设置头部刷新时间 */
private void onLoad() {
mListView.stopRefresh();
mListView.stopLoadMore();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
String nowTime = df.format(new Date(System.currentTimeMillis()));// 获取当前系统时间
mListView.setRefreshTime(nowTime);// 释放时提示正在刷新时的当前时间
}
}
9741
相关文章推荐
- Lua中的元表和元方法
- 【poj 3258】River Hopscotch 中文题意&题解&代码
- 每天laravel-20160624|RateLimiter
- jdk环境变量含义极其配置
- Python 基础 —— re:正则表达
- Linux定时任务Crontab详解
- 命名不能用的数据库关键字
- 每天laravel-20160624|RateLimiter
- 052(十)
- 接口测试实践
- 基于书本第四章:两人合作的思考
- Ubuntu+Apache+PHP+Mysql环境搭建
- Matlab读取纯文本光谱文件
- 【数据结构与算法】十五
- how to use google
- 1053. 住房空置率 (20)
- RecyclerView初探-----5.0新特性、替代Listview、Gridview
- LeetCode Find the Celebrity
- 将博客搬至博客园
- Hello, World!