文档章节

xstream 解析xml 上拉刷新

 阿狸的青春
发布于 2016/04/05 14:18
字数 408
阅读 13
收藏 0
页面展示 分页加载



public class MyFragment extends Fragment implements IXListViewListener{
    private XListView  xlistv;
    private String[] url;
    private int position;
    private List<Blog> blog=new ArrayList<Blog>();
    private List<News> news=new ArrayList<News>();
    private int start=0;
private static int refresh=0;
    private Handler  mHandler;
    private ArrayList<String> list=new ArrayList<String>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view=LayoutInflater.from(getActivity()).inflate(R.layout.fragment, null);
     xlistv=(XListView) view.findViewById(R.id.xListView);
     
    
    return view;
}
public MyFragment(String[] url, int position) {
    this.url = url;
    this.position = position;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
    xlistv.setPullLoadEnable(true);      //上拉加载默认为false
    xlistv.setPullRefreshEnable(true);//下拉刷新默认为true
    xlistv.setXListViewListener(this);
    mHandler = new Handler();
    getItems(position);
}
private void getItems(final int position) {
    
    // TODO Auto-generated method stub
    if(position==0||position==1){
    new Thread(){
        
        public void run() {
        
                XStream xs=new XStream();
                xs.processAnnotations(MyNews.class);
                try {
                    MyNews  mynews=(MyNews) xs.fromXML(new URL(url[position]));
                    news=mynews.getNewslist().getNews();
                    
                    getActivity().runOnUiThread(new Runnable() {
                        
                        @Override
                        public void run() {
                            // TODO Auto-generated method stub
                            xlistv.setAdapter(new MyAdapter(getActivity(), news));
                        }
                    });
                    
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            
            
        };
    }.start();
    }else{
        new Thread(){
            public void run() {
                XStream xs=new XStream();
                xs.processAnnotations(MyBlog.class);
                try {
                    MyBlog mybl=(MyBlog) xs.fromXML(new URL(url[position]));
                    blog=mybl.getBlogs().getBlog();
                    getActivity().runOnUiThread(new Runnable() {
                        
                        @Override
                        public void run() {
                            // TODO Auto-generated method stub
                            xlistv.setAdapter(new MyAdapters(getActivity(), blog));
                        }
                    });
                    
                    
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            };
            
        }.start();
        
        
    }
}
/*设置头部刷新时间*/
private void onLoad() {
    xlistv.stopRefresh();
    xlistv.stopLoadMore();
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    String nowTime=df.format(new Date(System.currentTimeMillis()));// 获取当前系统时间
    xlistv.setRefreshTime(nowTime);//释放时提示正在刷新时的当前时间
}
@Override
public void onRefresh() {
    // TODO Auto-generated method stub
    
    mHandler.postDelayed(new Runnable() {
        
        @Override
        public void run() {
            // TODO Auto-generated method stub
            start=++refresh;
            //list.clear();
            new Thread(){
                public void run() {
                    getItems(position);
                };
                
            }.start();
            if(position==0||position==1){
                news.clear();
                new MyAdapter(getActivity(), news).notifyDataSetChanged();
            }else{
                blog.clear();
                new MyAdapters(getActivity(), blog).notifyDataSetChanged();
            }
            onLoad();
        }
    },2000);
}
@Override
public void onLoadMore() {
    // TODO Auto-generated method stub
mHandler.postDelayed(new Runnable() {
        
        @Override
        public void run() {
            // TODO Auto-generated method stub
            
            new Thread(){
                public void run() {
                    getItems(position);
                };
                
            }.start();
            if(position==0||position==1){
            
                new MyAdapter(getActivity(), news).notifyDataSetChanged();
            }else{
        
                
                new MyAdapters(getActivity(), blog).notifyDataSetChanged();
            }
            onLoad();
        }
    },2000);
}
}

© 著作权归作者所有

粉丝 0
博文 18
码字总数 8352
作品 0
海淀
私信 提问
android下通过xstream解析xml格式信息

==========推荐============ 实例教程-----会员贡献索引贴 http://www.eoeandroid.com/thread-1987-1-1.html android 图像处理滤镜系列合集 http://www.eoeandroid.com/thread-178656-1-1.ht......

长平狐
2012/08/21
137
0
android下通过xstream解析xml格式信息

原文转自:http://marshal.easymorse.com/archives/1715 下面是一个xml文件的格式示例。 下载或者访问该xml文件:[Download not found] 如果解析上面的xml文件呢?这里选用了xstream,网址:...

华宰
2011/09/07
1K
0
android下通过xstream解析xml格式信息

==========推荐============ 实例教程-----会员贡献索引贴 http://www.eoeandroid.com/thread-1987-1-1.html android 图像处理滤镜系列合集 http://www.eoeandroid.com/thread-178656-1-1.ht......

长平狐
2012/08/14
251
0
android下通过xstream解析xml格式信息

==========推荐============ 实例教程-----会员贡献索引贴 http://www.eoeandroid.com/thread-1987-1-1.html android 图像处理滤镜系列合集 http://www.eoeandroid.com/thread-178656-1-1.ht......

长平狐
2012/08/09
109
0
Xstream XML文件互转JAVA对象的利器

公司给工具做个接口测试,工具返回给我们文件格式为xml,我们平台采用JAVA开发,为了今后的数据持久化 和 查看结果的方便,应该将XML转换为Object,这样接触到了XStream这个类库,虽然小,但功...

文文1
04/26
91
0

没有更多内容

加载失败,请刷新页面

加载更多

不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,...

HollisChuang
17分钟前
3
0
乐观锁和悲观锁

乐观锁和悲观锁 在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性的问题 事务的特性:原子性、一致性、隔离性、持久性 1、丢失修改:T1和T2两个事务对同一个数据进行修改,T1先...

大瑞清_liurq
25分钟前
5
0
Scrum敏捷价值观与原则

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。如果还不知道Scrum敏捷开发的朋友们,请出门左转,点击 Scrum 了解。 敏捷价值观 个体和互动 高于 流程和工具 工作的软件 高于 ...

醉美閑聖
26分钟前
4
0
android焦点

final RelativeLayout relativeLayout=new RelativeLayout(context); relativeLayout.setClickable(true); relativeLayout.setFocusable(true); rel......

安卓工程师王恒
28分钟前
3
0
IP地址分配与中继设备简介

1. TCP/IP模型 TCP/IP协议是在OSI参考模型出现之间就被开发的,并广泛部署在计算机网络中。但是,后来由于概念混淆,TCP/IP模型的层次和名称往往与OSI模型的层次名称相互借用。如图1.所示。 ...

xiangyunyan
29分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部