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. JMeter学习-003-JMeter与LoadRunner的异曲同工

    本节主要对 JMeter 与 LoadRunner 的优缺点进行概要的总结,若有不足之处,敬请指正,不胜感激! 同时,我也不得不承认,在对 JMeter 和 LoadRunner 进行比较时,我个人的 ...

  2. Notepad++ install vi plugin

    下载Notepad++,想安装vi插件. 使用Notepad++自带的插件管理器下载visimulator失败. 所以直接下载插件visimulator.dll,再导入. 下载地址: https:// ...

  3. linux内核编译相关

    参考:http://www.arm.linux.org.uk/docs/kerncomp.php 一. 内核编译1) linux 2.4make clean/make mrpropermake dep ...

  4. javascript实例学习之六—自定义日历控件

    基于之前上篇博客轻量级jquery,tool.js和base.js.自定义开发的base_datePicker插件,效果类似于jquery_ui的datePicker插件 //基于Base.js以及t ...

  5. Windows Security 学习笔记

    对于Windows 在 Security 方面的学习. 纯兴趣. UNIX 的另外开一条路线学习. 话说今天查gpedit.msc的资料的时候发现 M$ 官网上怎么连个文档都没有. 后来才点了 gpe ...

  6. iOS 隐藏系统的导航,使用自定义的导航

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  7. appcon 图标打包

    ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPho ...

  8. 微信成为开发者C#代码

    第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!今天咱就和大家探讨下如何让自己成为开发者!那么怎么才能成为开发者呢? 首先给大家一个微信的截图,看到这个截图,是不是有想去尝试的冲动?

  9. c#异步调用

    首先来看一个简单的例子: 小明在烧水,等水烧开以后,将开水灌入热水瓶,然后开始整理家务 小文在烧水,在烧水的过程中整理家务,等水烧开以后,放下手中的家务活,将开水灌入热水瓶,然后继续整理家务 这也是日 ...

  10. docker summary

    http://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html 总结的很好 ----------------------------- ...