使用HttpUTILS请求XML数据

public class BKFragments extends Fragment implements IXListViewListener{
    private XListView lv;
    private HttpUtils httpUtils;
    private int num=0;
    private List<BlogBean> list;
    private Handler handler;
    private boolean flag;
    private boolean tag;
    private BKAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_selection_common,
                container, false);

        lv = (XListView) rootView.findViewById(R.id.lv);

        return rootView;
    }
    
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        lv.setPullLoadEnable(true);
        httpUtils = new HttpUtils();

        // 获取网络数据
        startHttpUtils(num);

        // 设置监听
        lv.setXListViewListener(this);

        handler = new Handler();
        
    }

    private void startHttpUtils(int id) {
        String path="http://www.oschina.net/action/api/blog_list?type=latest&pageIndex="+id+"&pageSize=20";
         httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() {

                

                @Override
                public void onFailure(HttpException arg0, String arg1) {
                   System.out.println("请求失败");
                }

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

                    String data = weResponseInfo.result;
                    List<BlogBean>   lists = new PullUtils().getBoKelist(data);
                   System.out.println(lists);

                   if(flag==true){
                       System.out.println("头部加载");
                       list.addAll(0, lists);
                   }else{
                       if(tag==false){
                           System.out.println("首次加载");
                           tag=true;
                           list=lists;
                       }else{
                           System.out.println("尾部加载");
                           list.addAll(lists);
                       }
                   }
                   setData();

                }

            });
    }

    
    protected void setData() {
         adapter = new BKAdapter(getActivity(),list);

        lv.setAdapter(adapter);

    }
    
     private void onLoad() {
            lv.stopRefresh();
            lv.stopLoadMore();
            lv.setRefreshTime("刚刚");
        }

    @Override
    public void onRefresh() {
         handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    flag=true;
                    num +=1;
                    startHttpUtils(num);
                   
                    adapter.notifyDataSetChanged();
                    onLoad();

                }
            }, 2000);
    }

    @Override
    public void onLoadMore() {
         handler.postDelayed(new Runnable() {

                @Override
                public void run() {
                    flag=false;
                    num +=1;
                    startHttpUtils(num);
                    adapter.notifyDataSetChanged();
                    onLoad();

                }
            }, 2000);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值