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(); } } }
F1
最新推荐文章于 2024-03-31 00:13:20 发布