sadojciscjsd

package com.bwie.test;

import adapter.Myadapter;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.util.Xml;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import org.com.cctest.view.XListView;
import org.com.cctest.view.XListView.IXListViewListener;
import org.xmlpull.v1.XmlPullParser;

import vo.News;

import com.google.gson.Gson;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;

import android.content.Intent;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;


public class f1 extends Fragment   implements IXListViewListener {
     String path="http://www.oschina.net/action/api/news_list?catalog=1&pageindex=1&pageSize=20";
     String path2="http://www.oschina.net/action/api/news_list?catalog=1&pageindex=2&pageSize=20";
     String path3="http://www.oschina.net/action/api/news_list?catalog=1&pageindex=3&pageSize=20";

     
     List<News> list;

    News data=new News();
    Handler handler = new Handler() {
        private Myadapter myAdapter;

        @SuppressWarnings("unchecked")
        public void handleMessage(android.os.Message msg) {

            switch (msg.what) {
            // 加载初始化数据
            case 1:
                list = (List<News>) msg.obj;
                myAdapter = new Myadapter(getActivity(), list);

                xlistView.setAdapter(myAdapter);
                // loadOver();
                break;
            // 刷新
            case 2:
                list.clear();
                for (News dataBean : (List<News>)msg.obj) {
                    //象开头添加
                    list.add(dataBean);
                }
                // 刷新适配器
                myAdapter.notifyDataSetChanged();
                loadOver();
                break;
            // 加载更多
            case 3:

                for (News dataBean : (List<News>)msg.obj) {
                    //象结尾添加
                    list.add(dataBean);
                }
                // 刷新适配器
                myAdapter.notifyDataSetChanged();
                loadOver();
                break;
            }

        };

    };
    
    private XListView xlistView;
    private View contextView;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        
        contextView = View.inflate(getActivity() ,R.layout.itemfragment,  null);
            
        //找到控件
        initview(contextView);

        //解析
        getData(1,path);
        
        
        return contextView;
    


    }



    private void initview(View contextView) {
        xlistView = (XListView) contextView.findViewById(R.id.xlistView);

        // 下拉刷新是否激活
        xlistView.setPullRefreshEnable(true);
        // 加载更多是否激活
        xlistView.setPullLoadEnable(true);
        // xlistView刷新和加载更多的监听
        xlistView.setXListViewListener(this);
        xlistView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
             
            }
        });
    }

    

    // 停止加载更多/刷新
    public void loadOver() {
        // 停止加载更多
        xlistView.stopLoadMore();
        // 停止刷新
        xlistView.stopRefresh();
        //设置刷新时的时间
        xlistView.setRefreshTime(getTime());

    }
    public void getData(final int i, String path) {

        HttpUtils httpUtils = new HttpUtils();
    
        httpUtils.configCurrentHttpCacheExpiry(0);

        httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {

        @Override
        public void onFailure(HttpException arg0, String arg1) {

        }

        @Override
        public void onSuccess(ResponseInfo<String> arg0) {

           String result = arg0.result;

           Log.e("result", result);
           ByteArrayInputStream arrayInputStream=new ByteArrayInputStream(result.getBytes());
           
           getstr(arrayInputStream) ;
           
                
            Message msg = Message.obtain();
            msg.obj = list;
            msg.what = i;
            handler.sendMessage(msg);
        }
    });

}
    
    
    
    public  void getstr(InputStream is) {
        try {
            XmlPullParser xmlParser = Xml.newPullParser();
            xmlParser.setInput(is, "utf-8");

            int eventType = xmlParser.getEventType();

            while (eventType != XmlResourceParser.END_DOCUMENT) {
                String tagName = xmlParser.getName();
                switch (eventType) {
                case XmlResourceParser.START_DOCUMENT:
                    list = new ArrayList<News>();
                    break;
                case XmlResourceParser.START_TAG:

                    if ("news".equalsIgnoreCase(tagName)) {
                        data= new News();
                    } else if ("title".equals(tagName)) {
                        data.title=xmlParser.nextText();
                    }  else if ("pubDate".equals(tagName)) {
                        data.pubDate=xmlParser.nextText();
                    } else if ("author".equals(tagName)) {
                        data.author=xmlParser.nextText();
                    } else if ("body".equals(tagName)) {
                        data.body=xmlParser.nextText();
                    }
                    break;
                case XmlResourceParser.END_TAG:
                    if ("news".equalsIgnoreCase(tagName)) {
                        list.add(data);
                        data = null;
                    }
                    break;
                }
                eventType = xmlParser.next();

            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        Log.e("list", list.toString());
    }

    
    /**
     * 刷新
     */
    @Override
    public void onRefresh() {

        getData(2,path2);

    }

    /**
     * 加载更多
     */
    @Override
    public void onLoadMore() {

        getData(3,path3);
        loadOver();
    }

public String getTime() {

    SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");

    Date date = new Date();
    String time = format.format(date);
    return time;

}



    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值