PullToRefresh添加HeaderView(Banner轮播)
来源:互联网 发布:百度分享 seo 编辑:程序博客网 时间:2024/05/19 02:03
import android.content.Context;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ExpandableListView;import android.widget.ImageView;import android.widget.ListAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.bwlq.yuekaodemo1.R;import com.bwlq.yuekaodemo1.bean.Products;import com.bwlq.yuekaodemo1.utils.Utils;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshExpandableListView;import com.handmark.pulltorefresh.library.PullToRefreshListView;import com.youth.banner.Banner;import com.youth.banner.loader.ImageLoader;import com.youth.banner.loader.ImageLoaderInterface;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * Created by liqiang on 2017/11/15. */public class Frag1 extends Fragment { private View view; private PullToRefreshListView plv; private List<Products.DataBean> list = new ArrayList<>(); private Banner banner; String urlString = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum="; String[] urls = {"http://img.my.csdn.net/uploads/201407/26/1406383265_8550.jpg","http://pic31.photophoto.cn/20140519/0010023932607971_b.jpg" ,"http://pic.58pic.com/58pic/15/23/09/74T58PICZjg_1024.jpg","http://pic7.nipic.com/20100517/2474391_114652343079_2.jpg" ,"http://pic.58pic.com/58pic/12/21/22/54P58PICBkX.jpg"}; private ListView refreshableList; private int i = 0; private MAdapter mAdapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.frag1, container, false); //获取pulltorefresh控件 plv = view.findViewById(R.id.plv); //设置上下拉 plv.setMode(PullToRefreshBase.Mode.BOTH); //刷新加载监听事件 plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { list.clear(); getNetData(0); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { getNetData(i++); } }); //banner轮播视图 View inflate = View.inflate(getContext(), R.layout.banner_layout, null); //banner控件 banner = inflate.findViewById(R.id.banner); //设置banner图片 banner.setImages(Arrays.asList(urls)); //设置ImageLoader请求网络显示图片 banner.setImageLoader(new MLoader()); //通过pulltorefresh控件转换为refreshableList(listview控件) refreshableList = plv.getRefreshableView(); //给refreshableList(listview控件)设置头部视图 refreshableList.addHeaderView(inflate); //banner开始轮播 banner.start(); //baseadapter适配器 mAdapter = new MAdapter(); //给refreshableList设置适配器 refreshableList.setAdapter(mAdapter); //请求网络获取数据 getNetData(i); return view; } private void getNetData(int i) { new MAsyncTask().execute(urlString+i); } private class MLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String)path,imageView,Utils.getDisplayImageOption()); } } private class MAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { if (view == null) { view = View.inflate(getContext(),R.layout.list_item,null); } ImageView imageView = view.findViewById(R.id.imageView); TextView textView = view.findViewById(R.id.textView); Products.DataBean dataBean = list.get(i); com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String) dataBean.getIMAGEURL(),imageView,Utils.getDisplayImageOption()); textView.setText(dataBean.getTITLE()); return view; } } private class MAsyncTask extends AsyncTask { @Override protected Object doInBackground(Object[] objects) { return Utils.getNetJson((String)objects[0]); } @Override protected void onPostExecute(Object o) { super.onPostExecute(o); Gson gson = new Gson(); Products products = gson.fromJson((String) o, Products.class); List<Products.DataBean> data = products.getData(); list.addAll(data); mAdapter.notifyDataSetChanged(); plv.onRefreshComplete(); } }}
阅读全文
0 0
- PullToRefresh添加HeaderView(Banner轮播)
- PullToRefresh+Banner无限轮播
- Android开发中实现pulltorefresh刷新,banner实现无线轮播
- banner图片轮播
- 广告轮播Banner
- banner轮播
- 首页轮播Banner
- Banner无限轮播
- Banner图片轮播
- banner轮播
- Banner无线轮播
- Banner无限轮播
- banner无限轮播
- JQuery banner轮播
- Banner实现轮播
- banner无限轮播
- Banner无限轮播
- Banner无限轮播
- kafka
- react-router 4.0 格式化文档
- 路由
- Override和Overload
- 看到科技亮相高交会:你不能错过的五大看点预告!
- PullToRefresh添加HeaderView(Banner轮播)
- ES6-对象的扩展-属性名表达式
- Tensorflow Lite 0.1 for Android
- PHP curl请求错误汇总和解决方案
- 人工智能需要一个可被证明的理论作为基础 | 哈佛丘成桐
- 入门 | 一文概览深度学习中的激活函数
- 获取当前 标注样式dimstyle
- 究竟深度学习在干什么?
- pyinstaller打成exe可执行文件