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. TCP定时器

    http://network.51cto.com/art/201412/459352.htm TCP 是提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据.但是数据和确认都可能会丢失.TCP ...

  2. LeetCode Longest Increasing Path in a Matrix

    原题链接在这里:https://leetcode.com/problems/longest-increasing-path-in-a-matrix/ Given an integer matrix, ...

  3. LeetCode Shortest Word Distance III

    原题链接在这里:https://leetcode.com/problems/shortest-word-distance-iii/ 题目: This is a follow up of Shortes ...

  4. search支持多种标签

    织梦的搜索页面支持dede标签的方法一 打开文件:include/arc.searchview.class.php 找到: require_once(DEDEINC."/taglib/hot ...

  5. SQLServer DMV Query

    1.DMV Query to identify all active SQL Server Sessions The query below identifies all currently acti ...

  6. 数据库字段Pointer的操作方法

    多数情况下要要是Pointer字段实现了类似传统关系数据库的关联操作,联合查询能够减少提交次数,今天带来几种过滤器的使用方法: 首先确定2个Class,也就是表: A表:user表,用户个人信息,字段 ...

  7. 关闭不安全的HTTP方法

    关闭不安全的HTTP方法 在项目或tomcat下的web.xml中,添加如下配置: <!-- 关闭不安全的HTTP方法 --> <security-constraint> &l ...

  8. Apache kafka原理与特性(0.8V)

    前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer) ...

  9. [BS-24] UIImageView的contentMode属性

    UIImageView的contentMode属性   所有的UIView都有个contentMode属性,UIImageView继承自UIView,我们在使用UIImageView时,经常要考虑这些 ...

  10. Java HashMap Demo

    代码: import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.Map. ...