pull 解析xml
来源:互联网 发布:计算机应用与软件 编辑:程序博客网 时间:2024/06/06 01:22
public class MainActivity extends Activity {
// 成员变量private List<Bean> list = new ArrayList<Bean>();private List<Bean> two = new ArrayList<Bean>();private Bean bean;private XListView xlv;private MyAdapter adapter;private int j = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); into("刷新"); xlv = (XListView) findViewById(R.id.lv); // 激活加载更多 xlv.setPullLoadEnable(true); // 激活下拉刷新 xlv.setPullRefreshEnable(true); // 设置xlistView上拉加载下拉刷新的监听 xlv.setXListViewListener(new IXListViewListener() { @Override // 下拉刷新的回调方法 public void onRefresh() { j += 1; // 下拉刷新,应该展示最新数据,所以清空集合 into("刷新"); // 设置刷新时间 xlv.setRefreshTime(dateFormat()); // 停止加载更多 xlv.stopLoadMore(); // 停止刷新 xlv.stopRefresh(); } @Override // //上拉加载的回调方法 public void onLoadMore() { j += 1; into("加载"); // 停止加载更多 xlv.stopLoadMore(); // 停止刷新 xlv.stopRefresh(); } });}//加载时间protected String dateFormat() { long currentTimeMillis = System.currentTimeMillis(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String format = dateFormat.format(currentTimeMillis); return format;}private void into(final String num) { final String path = "http://www.oschina.net/action/api/tweet_list?Uid=0&pageIndex=" + j + "&pageSize=5"; Toast.makeText(this, ""+j, 0).show(); new Thread() { public void run() { HttpURLConnection con; try { con = (HttpURLConnection) new URL(path).openConnection(); con.setConnectTimeout(15000); con.setRequestMethod("GET"); int i = con.getResponseCode(); if (i == 200) { InputStream input = con.getInputStream(); XmlPullParser parser = Xml.newPullParser(); parser.setInput(input, "UTF-8"); int event = parser.getEventType(); String str = null; // XmlPullParser.END_DOCUMENT文档结束 while (event != XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT: break; // XmlPullParser.START_TAG节点 case XmlPullParser.START_TAG: str = parser.getName(); if ("tweet".equals(str)) { bean = new Bean(); } break; // XmlPullParser.TEXT内容 case XmlPullParser.TEXT: if ("id".equals(str)) { bean.setId(parser.getText().trim()); } if ("portrait".equals(str)) { bean.setPortrait(parser.getText().trim()); } if ("author".equals(str)) { bean.setAuthor(parser.getText().trim()); } if ("authorid".equals(str)) { bean.setAuthorid(parser.getText().trim()); } if ("body".equals(str)) { bean.setBody(parser.getText().trim()); } if ("pubDate".equals(str)) { bean.setPubDate(parser.getText().trim()); } break; case XmlPullParser.END_TAG: str = parser.getName(); if ("tweet".equals(str)) { if (num.equals("刷新")) { list.add(bean); two.addAll(0, list); } else { two.addAll(list); } // 更新UI runOnUiThread(new Runnable() { @Override public void run() { intoviewp(); } }); bean = null; } str = ""; break; } event = parser.next(); } } } catch (Exception e) { e.printStackTrace(); } }; }.start();}//适配器private void intoviewp() { if (adapter == null) { adapter = new MyAdapter(two, getApplicationContext()); xlv.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); }}
}
1 0
- XML解析Pull解析
- XML解析---PULL解析
- XML的pull解析
- Pull解析XML文件
- Pull详解解析xml
- Pull解析Xml方式
- Android Pull解析xml
- pull解析xml
- xml解析(PULL)
- Pull 解析xml
- android pull 解析xml
- pull解析xml
- PULL解析XML
- android PULL 解析XML
- Android Pull解析xml
- Pull解析xml文件
- Android Pull 解析 XML
- Android Pull 解析 XML
- 【Java并发编程】之五:volatile变量修饰符—意料之外的问题(含代码)(r)
- TRANSFORM_TEX
- LeetCode | Largest Rectangle in Histogram
- C++ 非托管COM在C#下调用的问题
- 数据仓库的模型设计
- pull 解析xml
- 隐藏Linux命令行历史
- (开发笔记)转载:解决Maven的“Missing artifact ……”问题
- RabbitMQ服务所需的相关端口号
- C#多线程(上)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)(r)
- JQuery(一)
- matlab的cell2mat报错记录
- TCP/IP详解-TCP连接建立和断开