Xml游标

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);
		}
	}

}

  

时间: 2024-10-15 10:17:19

Xml游标的相关文章

【Java】Java XML 技术专题

XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XML Enhancements for Java) XML 验证 XPath XQuery XSL 转换处理器 XStream 数据绑定 本专题汇总了大量面向 Java 开发人员的 XML 技术文章和教程,内容涉及 XML 基础.Java XML 的文档模型.编程 API 与数据绑定框架以及 Java

使用 XMLBeans 进行编程

深入考察 XMLBeans 的特性和功能.本文通过一个简单的例子介绍 XMLBeans 技术,然后一步一步地介绍编译和绑定的过程,讨论 XML 游标.标记和 XQuery 表达式等高级特性.本文还将讨论 XMLBeans 与其他 XML-Java 数据绑定技术相比所具有的优点. 随着企业应用程序的复杂性不断加剧,XML 文档的约束和规则变得越来越严格.此外,随着业界越来越迅速地采用 Web 服务,XML 开始成为跨越多种平台的不可忽视的重要角色.所有这一切意味着,应用程序迫切需要一种简单而强大的

sql 通过游标 拆分xml结构

-----------------------定义游标变量------------------------------------------  DECLARE @propertyid INT   DECLARE @propertyname VARCHAR(50)  DECLARE @xml NVARCHAR(1000)  DECLARE top3_Cursor CURSOR SCROLL FOR   --------------------------定义游标结束---------------

ActiveMQ消息游标 --转载

转:http://blog.csdn.net/m13321169565/article/details/8081358 在Activemq以前的版本中,broker会把待发送的消息保存在内存中.这种方式的缺陷是当消费者消费的速度赶不上生产者的速度时,会在broker的内存中积攒大量的消息,当达到一个限额后,broker就不再接收消息.这时生产者就被阻塞了,直到broker将内存清理能保存消息后才能继续发送.     在5.0版本后,Activemq实现了一种新的内存模型来防止慢消费者阻塞快速生产

App列表之游标ListView(索引ListView)

游标ListView,提供索引标签,使用户能够快速定位列表项.      也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧.      一看图啥都懂了: 1.游标(Fast scroll thumb)      就是右边的那个拖动的方块,这个非常的简单: 1 2 3 4 5 <ListView     android:id="@+id/tweaked_list"     android:layout_width="fill_pa

07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao

 1  创建day14数据库,创建user.sql表: A 创建数据库 day14 B 创建数据表 users create table users ( id int primary keyauto_increment, username varchar(20), password varchar(20) ); 2  添加依赖的jar包 c3p0-0.9.1.2.jar mysql-connection-java-5.0.8-bin.jar commons-beanutils-1.8.0.j

sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询

执行sql语句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date desc 逻辑上看着挺对 但是报错: 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效.   只要我们在嵌套子查询视图里面加入: top 100 percent 即可 select * from ( select top 100

ibatis调存储过程返回游标

http://blog.sina.com.cn/s/blog_6f3ca78f01010pmj.html iBatic调用与JAVA调用很类似,只是JAVA把参数的注册放到了类里面,而iBatis把参数的注册放到了XML配置文件里,下面两个例子,第一个是返回普通数据,第二个是返回游标. 1:返回普通数据 Map map = new HashMap(); map.put("username", "JACK"); sqlMapClient.queryForObject(

ibatis.net调用oracle存储过返回游标SYS_REFCURSOR结果集

最近在用ibatis.net框架和oracle 11g开发一套程序.其中有一个需求就是通过存储过程,查询指定条件的数据集. 但是在开发的过程中遇到了问题,问题如下: 1.如何通过ibatis.net执行存储过程? 2.通过ibatis.net执行存储过程时,如何传参数? 3.通过ibatis.net执行存储过程时,传递参数过程中,dbType和type是如何对应的? 4.oracle存储过程中返回的游标集合SYS_REFCURSOR对应dbType是什么? 5.通过ibatis.net执行存储过