package com.bwie.yuekao01.fragment; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.AsyncTask; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.bwie.yuekao01.R; import com.bwie.yuekao01.bean.MenuInfo; import com.google.gson.Gson; import com.limxing.xlistview.view.XListView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.ryane.banner_lib.AdPageInfo; import com.ryane.banner_lib.AdPlayBanner; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; /** * Created by Shadow on 2017/7/21. */ public class TtFragment extends Fragment implements XListView.IXListViewListener { private View view; private AdPlayBanner adc; private XListView xlv; private MyXadapter xadapter; boolean flag; int index = 0; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment01, container, false); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); xlv = (XListView) view.findViewById(R.id.xlv); adc = (AdPlayBanner) view.findViewById(R.id.adc); banner(); xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); } private void loadData(String path, String pn, String rn) { new AsyncTask<String, Void, String>() { @Override protected String doInBackground(String... params) { String url = params[0]; String pn = params[1]; String rn = params[2]; try { HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); connection.setRequestMethod("POST"); OutputStream os = connection.getOutputStream(); os.write(("key=85ccc6561e8247986f378b20ef34589a&menu=" + URLEncoder.encode("红烧肉", "utf-8") + "&pn=" + pn + "&rn=" + rn).getBytes()); os.flush(); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStream is = connection.getInputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int len = 0; byte[] bytes = new byte[1024]; while ((len = is.read(bytes)) != -1) { baos.write(bytes, 0, len); } is.close(); baos.close(); System.out.println("*******************************" + baos.toString()); return baos.toString(); } } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s != null) { Gson gson = new Gson(); MenuInfo menuInfo = gson.fromJson(s, MenuInfo.class); List<MenuInfo.ResultBean.DataBean> list = menuInfo.getResult().getData(); if (xadapter == null) { System.out.println("**********************xadapter为null"); xadapter = new MyXadapter(list); xlv.setAdapter(xadapter); } else { System.out.println("**********************xadapter不为null"); xadapter.loadMore(list, flag); xadapter.notifyDataSetChanged(); } } } }.execute(path, pn, rn); } @Override public void onRefresh() { index++; flag = true; loadData("http://apis.juhe.cn/cook/query.php", index + "", "10"); xlv.stopRefresh(true); } @Override public void onLoadMore() { index++; flag = false; loadData("http://apis.juhe.cn/cook/query.php", index + "", "10"); xlv.stopLoadMore(); } class MyXadapter extends BaseAdapter { List<MenuInfo.ResultBean.DataBean> list; DisplayImageOptions options; public MyXadapter(List<MenuInfo.ResultBean.DataBean> list) { this.list = list; options = new DisplayImageOptions.Builder() .showImageOnFail(R.mipmap.ic_launcher) .cacheInMemory(true) .cacheOnDisk(true) .build(); } public void loadMore(List<MenuInfo.ResultBean.DataBean> lists, boolean flag) { for (MenuInfo.ResultBean.DataBean bean : lists) { if (flag) { list.add(0, bean); } else { list.add(bean); } } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = convertView.inflate(getActivity(), R.layout.xlistview_item, null); } ImageView ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon); TextView tvContent = (TextView) convertView.findViewById(R.id.tvContent); tvContent.setText(list.get(position).getTitle()); ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(0), ivIcon, options); return convertView; } } private void banner() { AdPageInfo adPageInfo = new AdPageInfo("标题1", "http://img.hb.aicdn.com/23a6354ab270ea5af40d8e3542802aad8ea5c69967150-6Yan83_fw580", null, 0); AdPageInfo adPageInfo2 = new AdPageInfo("标题2", "http://img.article.pchome.net/00/52/00/56/pic_lib/wm/7.jpg", null, 0); AdPageInfo adPageInfo3 = new AdPageInfo("标题3", "http://img.zcool.cn/community/0119d65618cbae6ac7255b1498115e.png", null, 0); ArrayList<AdPageInfo> list = new ArrayList<>(); list.add(adPageInfo); list.add(adPageInfo2); list.add(adPageInfo3); adc.setInfoList(list); adc.setIndicatorType(AdPlayBanner.IndicatorType.NUMBER_INDICATOR); adc.setUp(); } }
上下拉刷新
最新推荐文章于 2024-05-07 03:41:46 发布