F1

public class Fragment01 extends Fragment {

    private XListView xlv;
   private List<Bean.DataBean>  data=new ArrayList<Bean.DataBean>();
    private String requestUrl;
    private Adapter adapter;
    String type="";
    private int pageIndex=1;
    private int operaType=1;
    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            if(operaType==1){
                xlv.stopRefresh();

                //设置

            }else{
                xlv.stopLoadMore();
            }
        }
    };
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
       View view=inflater.inflate(R.layout.framgent,container,false);
        xlv = (XListView) view.findViewById(R.id.xlv);
        Bundle bundle = getArguments();
        type = bundle.getString("key");
        requestUrl="http://api.expoon.com/AppNews/getNewsList/type/"+type+"/p/"+pageIndex;


        return view;
    }

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

        xlv.setPullLoadEnable(true  );

        xlv.setPullRefreshEnable(true);
        xlv.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                pageIndex=1;
                operaType=1;
                new myTask().execute(requestUrl);
            }

            @Override
            public void onLoadMore() {

                pageIndex++;
                operaType=2;
                new myTask().execute(requestUrl);
            }

        });
        new myTask().execute(requestUrl);
        Log.d("zzz",requestUrl);
    }
    class myTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {
            try {
                URL url = new URL(params[0]);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setReadTimeout(30000);
                connection.setReadTimeout(30000);
                int code = connection.getResponseCode();
                if (code == 200) {
                    InputStream inputStream = connection.getInputStream();
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    int len = 0;
                    byte[] buffer = new byte[1024];
                    while ((len = inputStream.read(buffer)) != -1) {
                        outputStream.write(buffer, 0, len);
                    }
                    outputStream.close();
                    inputStream.close();
                    String s = outputStream.toString();

                    return s;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Log.d("zzz","s:"+s);
            Gson gson = new Gson();
            Bean bean = gson.fromJson(s, Bean.class);

           if(operaType==1){
                //如果是刷新操作
                data.clear();
           }
            Log.d("xxx",bean.getInfo()+"    ");
            data.addAll(bean.getData());
            //设置适配器
            setAdapter();


            //关闭头部与尾部布局
            handler.sendEmptyMessageDelayed(0,1000);



        }
    }

    /**
     * 设备适配器
     */
    private void setAdapter() {
        if (adapter == null) {
            adapter = new Adapter(getActivity(),data);
            xlv.setAdapter(adapter);
        } else {
            adapter.notifyDataSetChanged();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值