Mainactivity

package com.exmple.xmlstream;

import java.util.ArrayList;
import java.util.List; import com.exmple.unet.NetUtil;
import com.exmple.vo.MyNewslist;
import com.exmple.vo.Super;
import com.thoughtworks.xstream.XStream; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.app.Activity;
import android.graphics.Color; import android.util.DisplayMetrics;
import android.view.View;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView; public class MainActivity extends FragmentActivity implements
OnCheckedChangeListener { private ViewPager vp; private RadioGroup rg;
String[] str = new String[] { "资讯", "热点", "博客", "推荐" }; private List<Fragment> list; private RadioButton rb1; private RadioButton rb2; private RadioButton rb3; private RadioButton rb4; private LinearLayout line; private int width; private List<TextView> list_tv; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
DisplayMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
width = outMetrics.widthPixels;
/*int heightPixels = outMetrics.heightPixels;*/
rg = (RadioGroup) findViewById(R.id.rg);
vp = (ViewPager) findViewById(R.id.vp);
rb1 = (RadioButton) findViewById(R.id.button1);
rb2 = (RadioButton) findViewById(R.id.button2);
rb3 = (RadioButton) findViewById(R.id.button3);
rb4 = (RadioButton) findViewById(R.id.button4);
line = (LinearLayout) findViewById(R.id.line);
rb1.setText(str[0]);
rb2.setText(str[1]);
rb3.setText(str[2]);
rb4.setText(str[3]);
getData();
setColumn();
FragmentManager fm = getSupportFragmentManager();
setYoubiao(vp.getCurrentItem()); Viewpage1 fa = new Viewpage1(fm, list);
vp.setAdapter(fa);
vp.setCurrentItem(0);
rb1.setTextColor(Color.BLUE); rg.setOnCheckedChangeListener(this);
vp.setOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageSelected(int arg0) { switch (arg0) {
case 0:
setYoubiao(arg0);
rb1.setTextColor(Color.BLUE);
rb2.setTextColor(Color.BLACK);
rb3.setTextColor(Color.BLACK);
rb4.setTextColor(Color.BLACK);
break; case 1:
setYoubiao(arg0);
rb1.setTextColor(Color.BLACK);
rb2.setTextColor(Color.BLUE);
rb3.setTextColor(Color.BLACK);
rb4.setTextColor(Color.BLACK);
break;
case 2:
setYoubiao(arg0);
rb1.setTextColor(Color.BLACK);
rb2.setTextColor(Color.BLACK);
rb3.setTextColor(Color.BLUE);
rb4.setTextColor(Color.BLACK);
break;
case 3:
setYoubiao(arg0);
rb1.setTextColor(Color.BLACK);
rb2.setTextColor(Color.BLACK);
rb3.setTextColor(Color.BLACK);
rb4.setTextColor(Color.BLUE);
break;
} } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub }
});
// http://www.oschina.net/action/api/news_list
// http://www.sciencenet.cn/xml/iphoneInterface.aspx?type=news&nums=20&pass= } private void setColumn() { list_tv = new ArrayList<TextView>();
// for循环
for (int i = 0; i < str.length; i++) { // 创建textview
TextView tv = new TextView(this);
tv.setBackgroundColor(Color.GREEN);
LinearLayout.LayoutParams params_1 = new LayoutParams(width / 4, 10);
tv.setVisibility(View.INVISIBLE);
line.addView(tv, params_1); // 收集textview,即游标
list_tv.add(tv); } } private void setYoubiao(int arg0) {
TextView textView = list_tv.get(arg0); // 将当前的游标显示
textView.setVisibility(View.VISIBLE); // 将其他的游标隐藏
for (int i = 0; i < list_tv.size(); i++) {
TextView textView2 = list_tv.get(i); if (textView2 != textView) {
textView2.setVisibility(View.INVISIBLE);
}
} } private List<Fragment> getData() {
list = new ArrayList<Fragment>();
for (int i = 0; i < str.length; i++) {
F1 f1 = new F1();
Bundle bu = new Bundle();
bu.putString("text", str[i]);
f1.setArguments(bu);
list.add(f1); }
return list; } @Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.button1:
vp.setCurrentItem(0); break; case R.id.button2:
vp.setCurrentItem(1); break; case R.id.button3:
vp.setCurrentItem(2); break; case R.id.button4:
vp.setCurrentItem(3); break; } } }

  适配器

package com.exmple.xmlstream;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import com.exmple.ap.Apater;
import com.exmple.ap.Apater1;
import com.exmple.bovo.BoSuper;
import com.exmple.bovo.MyBlogs;
import com.exmple.bovo.Myblog;
import com.exmple.tong.PullToRefreshLayout;
import com.exmple.tong.PullToRefreshLayout.OnRefreshListener;
import com.exmple.tong.PullableListView;
import com.exmple.tool.UserTool;
import com.exmple.unet.NetUtil;
import com.exmple.vo.MyNew;
import com.exmple.vo.MyNewslist;
import com.exmple.vo.Super;
import com.thoughtworks.xstream.XStream; import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView; public class F1 extends Fragment {
Handler ha = new Handler() { public void handleMessage(Message msg) {
int i = msg.what; if (i == 1) {
String ma = msg.obj.toString();
XStream xs = new XStream();
xs.processAnnotations(Super.class);
Super fromXML = (Super) xs.fromXML(ma);
List<MyNew> newslist = fromXML.getNewslist().getNews();
System.out.println(newslist.toString());
if (page == 1) {
list.clear();
}
list.addAll(newslist);
update(); }
if (i == 2) {
String ma = msg.obj.toString();
XStream xs1 = new XStream();
xs1.processAnnotations(BoSuper.class);
BoSuper bo = (BoSuper) xs1.fromXML(ma);
List<Myblog> blog = bo.getBlogs().getBlog();
if (page == 1) {
list1.clear();
}
list1.addAll(blog);
update1();
} };
};
private Apater ap;
private Apater1 ap1;
private List<MyNew> list = new ArrayList<MyNew>();
private List<Myblog> list1 = new ArrayList<Myblog>();
int page = 1;
private PullableListView plistview;
private PullToRefreshLayout playout;
private String s;
private String url;
private View view; @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle bu = getArguments();
s = bu.getString("text");
HashMap<String, String> map = UserTool.getUrl();
url = map.get(s);
getData(); if (view == null) {
view = View.inflate(getActivity(), R.layout.f1, null);
playout = (PullToRefreshLayout) view.findViewById(R.id.layout); }
ViewGroup mParent = (ViewGroup) view.getParent(); if (mParent != null) {
mParent.removeView(view);
}
playout = (PullToRefreshLayout) view.findViewById(R.id.layout);
plistview = (PullableListView) view.findViewById(R.id.listview);
playout.setOnRefreshListener(new OnRefreshListener() { @Override
public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) {
ha.postDelayed(new Runnable() {
@Override
public void run() {
page = 1;
getData();
// 千万别忘了告诉控件刷新完毕了哦!
pullToRefreshLayout
.refreshFinish(PullToRefreshLayout.SUCCEED);
} }, 1000); } @Override
public void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) {
ha.postDelayed(new Runnable() {
@Override
public void run() {
page++;
getData();
// 千万别忘了告诉控件刷新完毕了哦!
pullToRefreshLayout
.loadmoreFinish(PullToRefreshLayout.SUCCEED);
} }, 1000); }
}); return view;
} private void getData() { new Thread() {
public void run() { if (s.equals("资讯") || s.equals("热点")) {
String str = NetUtil.getUrl(url,page);
ha.sendMessage(ha.obtainMessage(1, str));
} if (s.equals("博客") || s.equals("推荐")) { String str = NetUtil.getUrl(url,page);
ha.sendMessage(ha.obtainMessage(2, str));
} };
}.start(); } public void update() {
// 判断ba是否为空
if (ap == null) {
ap = new Apater(list, getActivity());
// 为lv添加适配器
plistview.setAdapter(ap);
} else {
// 刷新适配器
ap.UpDataAdapter(list);
}
} public void update1() {
// 判断ba是否为空
if (ap1 == null) {
ap1 = new Apater1(list1, getActivity());
// 为lv添加适配器
plistview.setAdapter(ap1);
} else {
// 刷新适配器
ap1.UpDataAdapter(list1);
}
} }

  

Xml游标的更多相关文章

  1. 【Java】Java XML 技术专题

    XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...

  2. 使用 XMLBeans 进行编程

      深入考察 XMLBeans 的特性和功能.本文通过一个简单的例子介绍 XMLBeans 技术,然后一步一步地介绍编译和绑定的过程,讨论 XML 游标.标记和 XQuery 表达式等高级特性.本文还 ...

  3. HowToDoInJava 其它教程 2 · 翻译完毕

    原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 JMS 教程 JMS 教 ...

  4. sql 通过游标 拆分xml结构

    -----------------------定义游标变量------------------------------------------  DECLARE @propertyid INT   D ...

  5. sql server中对xml进行操作

    一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...

  6. mybatis调用存储过程 无参、带有输入输出参数,输出游标类型的 存储

    存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的 ...

  7. T-Sql(五)xml操作

    t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...

  8. sql 游标

    --创建游标 DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | D ...

  9. XML 文档和数据

    .NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...

随机推荐

  1. Using Change Management and Change Control Within a Project

    In any project, change is inevitable whether it comes from within the project or from external sourc ...

  2. Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)

    通过 JS 或 JQuery 获取到元素后,通过 offsetLeft.offsetTop.offsetWidth.offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参 ...

  3. Sql server与Excel的数据互通导入导出

    现在,我先从Sql server数据表导出到Excel中,再从Excel数据表导出到Sql server中: 一.Sql server数据表导出到Excel中: 1.新建一个Excel,选择“数据”菜 ...

  4. Java日期时间处理常用方法

    虽然是老生常谈,但整理出来还是有点用. 1.由字符串时间得到Date类型时间 // 由字符串时间得到Date类型时间 public static Date getDateFrom(String str ...

  5. iOS 使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module

    使用不同版本的XCode出现的问题: fatal error: malformed or corrupted AST file: 'Unable to load module "/Users ...

  6. C语言课本实例

    1. 将一维数组的内容倒顺 #include <stdio.h>void func(int *s,int n){ int i,temp; for(i=0;i<n/2;i++) { t ...

  7. iOS:crash崩溃日志分析

    一.前言: 作为一个合格的iOS开发者,除了具有规范强悍的编码能力外,还应该具有过硬的查错纠错能力.在项目运行时,程序崩溃是不可避免的,遇到这个问题,有时会出现一大堆的crash日志,艹,貌似看不懂呀 ...

  8. Java静态代码分析工具——FindBugs插件的安装与使用

    1 什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分 ...

  9. JMX超详细解读

    一.JMX的定义 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和 ...

  10. csuoj 1337: 搞笑版费马大定理

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1337 1337: 搞笑版费马大定理 Time Limit: 1 Sec  Memory Limit ...