package com.bwie.fragment; import java.util.List; import com.bwie.adapter.BKAdapter; import com.bwie.adapter.MyAdapter; import com.bwie.bean.BlogBean; import com.bwie.bean.NewsBean; import com.bwie.testlianxi1.MainActivity; import com.bwie.testlianxi1.R; import com.bwie.utils.PullUtils; import com.bwie.xlistview.XListView; import com.bwie.xlistview.XListView.IXListViewListener; 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.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; 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); } }
Xutils请求数据和上拉刷新下拉加载
最新推荐文章于 2023-06-26 18:26:27 发布