PullToRefreshListView加载和Banner轮播
来源:互联网 发布:燕青对李逵知乎 编辑:程序博客网 时间:2024/06/07 17:16
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.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.bwei.monthsynthesize_demo.R;import com.bwei.monthsynthesize_demo.bean.PullData;import com.bwei.monthsynthesize_demo.utils.NetWorlUtil;import com.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import com.youth.banner.Banner;import com.youth.banner.loader.ImageLoader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class ChildFrag1 extends Fragment { private PullToRefreshListView pull; private String urlstr = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0"; private String[] urls = { "http://f2.kkmh.com/image/160715/42qtqpfsd.webp-w180", "http://f2.kkmh.com/image/171114/Q4Cv0N6hO.webp-w640", "http://f2.kkmh.com/image/160511/chrrrrs4v.webp-w640", "http://f2.kkmh.com/image/171114/9c70n8gv4.webp-w640" }; List<PullData.DataBean> list = new ArrayList<PullData.DataBean>(); private MyAdapter myAdapter; private com.nostra13.universalimageloader.core.ImageLoader instance; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.childfrag1_layout, container, false); return view; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance(); pull = view.findViewById(R.id.pull); //设置pull支持上下拉加载 pull.setMode(PullToRefreshBase.Mode.BOTH); View inflate = View.inflate(getActivity(), R.layout.banner_layout, null); Banner banner1 = inflate.findViewById(R.id.banner); //获取可复制视图 ListView listView = pull.getRefreshableView(); //给banner设置加载图片工具 banner1.setImageLoader(new MyImageLoder()); //给banner设置图片 banner1.setImages(Arrays.asList(urls)); //开启 banner1.start(); //添加到listView头部视图 listView.addHeaderView(inflate); //设置适配器 myAdapter = new MyAdapter(); pull.setAdapter(myAdapter); //获取数据 getInit(); //设置PullToRefreshListView刷新事件 pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { list.clear(); getInit(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { getInit(); } }); } //获取数据方法 private void getInit() { new MyAsyncTask().execute(urlstr); } private class MyImageLoder extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String) path, imageView); } } //适配器内部类 private class MyAdapter 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) { Holder holder = null; if (view == null) { holder = new Holder(); view = View.inflate(getActivity(), R.layout.childfrag_item_layout, null); holder.tv = view.findViewById(R.id.tv); holder.iv = view.findViewById(R.id.iv); view.setTag(holder); } else { holder = (Holder) view.getTag(); } holder.tv.setText(list.get(i).getTITLE()); instance.displayImage(list.get(i).getIMAGEURL(), holder.iv,new NetWorlUtil().getDisk()); return view; } } class Holder { TextView tv; ImageView iv; } private class MyAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { return NetWorlUtil.getNetJson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); PullData pullData = gson.fromJson(s, PullData.class);a List<PullData.DataBean> data = pullData.getData(); list.addAll(data); //刷新数据 myAdapter.notifyDataSetChanged(); pull.onRefreshComplete(); } }}
阅读全文
0 0
- PullToRefreshListView加载和Banner轮播
- XlistView刷新加载和Banner轮播
- XBanner轮播和pullToRefreshListView刷新条目
- PullToRefreshListView和Banner相连使用
- Fragment隐藏显示与DrawerLayout侧拉 Banner与PullToRefreshListView 和 Banner与xlistview分类加载数据
- 网络请求加载Banner轮播的使用
- Banner实现无限轮播Glide加载图片
- banner的简单无线轮播加载示例
- banner图片轮播
- 广告轮播Banner
- banner轮播
- 首页轮播Banner
- Banner无限轮播
- Banner图片轮播
- banner轮播
- Banner无线轮播
- Banner无限轮播
- banner无限轮播
- PHP常量
- CodeForces 535C Tavas and Karafs
- hashMap拉链形成
- C语言结构体对齐
- oracle数据库的基本操作和常识
- PullToRefreshListView加载和Banner轮播
- Redis到底是多线程还是单线程?
- JAVA操作文件或文件夹的创建与删除
- maven pom 标签解释
- 内存分配方式(二)
- 集成百度地图时SDKInitializer.initialize(getApplicationContext());这行代码报错
- 十一、定义函数
- centos时区和时间
- Mac 下统计目录及子目录代码行数