xstream 解析xml 上拉刷新

页面展示 分页加载



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

你可能感兴趣的:(xstream 解析xml 上拉刷新)