文档章节

上拉 下拉 的实现类

 阿狸的青春
发布于 2016/04/05 19:28
字数 456
阅读 4
收藏 0

package com.example.day06_xml;

import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.bean.Blog;
import com.bean.MyBlog;
import com.thoughtworks.xstream.XStream;
import com.vo.MyNews;
import com.vo.News;

import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import adapter.MyAdapter;
import adapter.MyAdapters;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

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){
            //    xlistv.setAdapter(new MyAdapter(getActivity(), news));
                new MyAdapter(getActivity(), news).notifyDataSetChanged();
            }else{
            //    xlistv.setAdapter(new MyAdapters(getActivity(), blog));
                
                new MyAdapters(getActivity(), blog).notifyDataSetChanged();
            }
            onLoad();
        }
    },2000);
}
}

© 著作权归作者所有

粉丝 0
博文 18
码字总数 8352
作品 0
海淀
私信 提问
Jaynm/PullToRefreshListView

PullToRefreshScrollViewDemo Android使用PullToRefresh完成ListView下拉刷新和左滑删除 一、本文主要内容: 使用PullToRefresh完成ListView下拉、上拉刷新; 扩展PullToRefresh完美的实现L...

Jaynm
2016/11/03
0
0
Weex中调用原生下拉刷新

Weex官方文档提供了下拉刷新和上拉刷新的内建组件和。但是功能单一且和App中原生的下拉刷新样式不一样,只能抛弃了。而前端自己写组件,效果也很难和原生保持一致。 组件在iOS的WeexSDK源码中...

HJaycee
2017/08/15
0
0
Android 下拉刷新、上拉加载库--BGARefreshLayout

BGARefreshLayout包含多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位 。 效果图: 目前已经实现了四种下拉刷新效果: 新浪微博下拉刷新风格(可设置各种状态是的文本,可设置整个刷...

bingoogolapple
2016/06/22
2.5K
0
使用PullToRefresh实现下拉刷新和上拉加载

PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。(下载地址:https://g...

ForingY
2016/12/19
51
0
BGARefreshLayout-Android实现多种下拉刷新效果、上拉加载更多

开发者使用BGARefreshLayout-Android可以对各种控件实现多种下拉刷新效果、上拉加载更多以及配置自定义头部广告位 目前已经实现了三种下拉刷新效果: 新浪微博下拉刷新风格(可设置背景、各种...

梦想_在追逐
2015/09/07
4.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

vue class绑定 组件

本文转载于:专业的前端网站➬vue class绑定 组件 当在一个自定义组件上使用 class 属性时,这些类将被添加到该组件的根元素上面。这个元素上已经存在的类不会被覆盖。 例如,如果你声明了这个...

前端老手
29分钟前
2
0
exist和in

exist和in select ..from table where exist (子查询) ; select ..from table where 字段 in (子查询) ; 如果主查询的数据集大,则使用In,效率高。 如果子查询的数据集大,则使用exist,效率高...

潦草的犀牛
33分钟前
2
0
Android OkHttp + Retrofit 取消请求的方法

本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求。对于OkHttp来说,具体是调用Call的cancel方法。 ...

shzwork
今天
6
0
并发编程之Callable异步,Future模式

Callable 在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或...

codeobj
今天
7
0
Ubuntu环境下安装PaddlePaddle

开篇 深度学习技术是目前非常热门的技术,笔者在闲暇之余决定学习一下这门技术,入门选择了百度开源的PaddlePaddle框架。 paddlepaddle介绍 飞桨(PaddlePaddle) 是国际领先的端到端开源深度学...

豫华商
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部