上下拉刷新
来源:互联网 发布:轻而易举软件瓷砖教程 编辑:程序博客网 时间:2024/04/27 21:57
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(); }}
阅读全文
0 0
- ListView 上下拉刷新
- 上下拉刷新
- ListView上下拉刷新
- 上下拉刷新
- 上下拉刷新
- 上下拉刷新
- 上下拉刷新
- recycleview上下拉刷新
- RecyclerView上下拉刷新
- xlistview上下拉刷新
- 上下拉刷新
- iOS tableView上下拉刷新
- 实现上下拉刷新MJRefresh
- PulltoRefresh实现上下拉刷新
- 上下拉刷新实现功能
- tableView分页,上下拉刷新
- PullToRefreshLayout实现上下拉刷新
- 上下拉刷新列表总结
- java中常见的几种异常情况
- 直线、折线分割平面
- 常用的svn与Git命令对比
- 优优系统-www.uusystem.com
- C++局部变量、全局变量、静态变量(堆、栈、静态存储区)
- 上下拉刷新
- 有哪些值得推荐的c++11风格的开源项目?
- CentOS 7 minimal 上不了网
- Oracle取月份-不带前面的0
- 安装网易云音乐
- css特性集锦
- leetcode:Reverse Linked List II
- SPFA-hdu4076
- varnish