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);
}
} }
Xml游标的更多相关文章
- 【Java】Java XML 技术专题
XML 基础教程 XML 和 Java 技术 Java XML文档模型 JAXP(Java API for XML Parsing) StAX(Streaming API for XML) XJ(XM ...
- 使用 XMLBeans 进行编程
深入考察 XMLBeans 的特性和功能.本文通过一个简单的例子介绍 XMLBeans 技术,然后一步一步地介绍编译和绑定的过程,讨论 XML 游标.标记和 XQuery 表达式等高级特性.本文还 ...
- HowToDoInJava 其它教程 2 · 翻译完毕
原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 JMS 教程 JMS 教 ...
- sql 通过游标 拆分xml结构
-----------------------定义游标变量------------------------------------------ DECLARE @propertyid INT D ...
- sql server中对xml进行操作
一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...
- mybatis调用存储过程 无参、带有输入输出参数,输出游标类型的 存储
存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的 ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- sql 游标
--创建游标 DECLARE cursor_name CURSOR [ LOCAL | GLOBAL ] [ FORWARD_ONLY | SCROLL ] [ STATIC | KEYSET | D ...
- XML 文档和数据
.NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...
随机推荐
- sql server 2008语句中的go有什么用?
GO表示一个批处理的结束, SQLSERVER遇到Go以后就会将GO之前的语句作为一整批进行处理你在SSMS里执行的时候, 通常加不加都可以,但是如果实在SQLCMD下执行, GO就是一个执行命令了另 ...
- javabean与map互转
/** * 将一个 JavaBean 对象转化为一个 Map * @param bean 要转化的JavaBean 对象 * @return 转化出来的 Map 对象 * ...
- eclipse for hello world makefile
1. 工程文件分析 使用eclipse新建一个Hello World工程,假设工程名称是hello,此时eclipse在工程目录下新建了一个名为hello的文件夹: hello/ .cproject ...
- iOS8 UIAlertController弹出框中添加视图(例如日期选择器等等)
UIDatePicker *datePicker = [[UIDatePicker alloc] init]; datePicker.datePickerMode = UIDatePickerMode ...
- iOS 使用封装的NSLog来打印调试信息
//DLog代替NSLog //debugMethod() 代替 NSLog(@"%s", __func__) //DLog在release下不会输出 #ifdef DEBUG # ...
- case语法练习脚本之判断
case语法练习脚本之判断 #!/bin/bash read -p "请输入一个字符,并按enter键确认:" key case "$key" in [a-z] ...
- hibernate一对多注解
package net.zmcheng.model; import java.util.HashSet;import java.util.Set; import javax.persistence.C ...
- 微信公众平台开发(110) 微信连Wi-Fi
关键字:微信公众平台 微信连Wi-Fi 微信 WiFi 硬件鉴权作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-wifi.html 微信连Wi- ...
- Spring中的工厂模式和单例模式
Spring预备知识(适合中小型项目) 作用:集成和管理其他框架 工厂模式: A a = new A( ); 将类所要创建的对象写入工厂,统一进行管理 package com.spring; pu ...
- 智能硬件+App移动新生态【11.01深圳】
活动概况 时间:2015年11月01日13:30-16:30 地点:深圳腾讯大厦(南山区科技园科技中一路)2楼多功能厅 主办:APICloud.庆科.信鸽 费用:免费 活动背景 智能电视.智能汽车.智 ...