使用addHeaderView给PulltoRefreshListView的添加Banner
来源:互联网 发布:关80端口 编辑:程序博客网 时间:2024/06/11 15:44
import android.content.Context;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;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.google.gson.Gson;import com.handmark.pulltorefresh.library.PullToRefreshBase;import com.handmark.pulltorefresh.library.PullToRefreshListView;import com.nostra13.universalimageloader.core.ImageLoader;import com.youth.banner.Banner;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private PullToRefreshListView pull; String httpUrl="http://www.meirixue.com/api.php?c=index&a=index"; List<Bean.DataBean.SliderBean> getlist = new ArrayList<>(); private MyBaseAdapter my; private ImageLoader instance; private ListView refreshableView; private Banner ban; List<String> listimg = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pull = (PullToRefreshListView) findViewById(R.id.pull_refresh_list); pull.setMode(PullToRefreshBase.Mode.BOTH); my = new MyBaseAdapter(); pull.setAdapter(my); getAsyncTask(); instance = ImageLoader.getInstance(); //通过getRefreshableView()来得到一个listview对象 refreshableView = pull.getRefreshableView(); //获取Banner的布局 View inflate = View.inflate(MainActivity.this, R.layout.f2, null); //获取控件 ban = (Banner)inflate.findViewById(R.id.ban); //refreshableView来添加头文件 refreshableView.addHeaderView(inflate); //pull的点击事件 上拉 下拉 pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { getlist.clear(); getAsyncTask(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) { getAsyncTask(); } }); } //执行banner的方法 public void getban(){ ban.setImageLoader(new Mode());//配置重写好的加载图片的类 ban.setImages(listimg);//需要传入一个图片地址的集合 ban.start(); //开启轮播 } /** * 这个类是Banner中的一个类;我们进行重写; */ class Mode extends com.youth.banner.loader.ImageLoader{ //这个就是专门让我们重写,加载图片的具体逻辑 @Override public void displayImage(Context context, Object path, ImageView imageView) { //调用图片的全局适配 ImageLoader.getInstance().displayImage((String)path,imageView); } } class MyBaseAdapter extends BaseAdapter{ @Override public int getCount() { return getlist.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(MainActivity.this, R.layout.f1, null); } ImageView img = view.findViewById(R.id.img); TextView tv = view.findViewById(R.id.tv); tv.setText(getlist.get(i).getTitle()); instance.displayImage(getlist.get(i).getImg(),img); return view; } } public void getAsyncTask(){ new MyAsyncTask().execute(httpUrl); } class MyAsyncTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { return IToos.ioss(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson g=new Gson(); Bean bean = g.fromJson(s, Bean.class); List<Bean.DataBean.SliderBean> slider = bean.getData().getSlider(); getlist.addAll(slider); my.notifyDataSetChanged(); pull.onRefreshComplete(); //获取banner的图片路径 List<Bean.DataBean.HotcategoryBean> hotcategory = bean.getData().getHotcategory(); for (int i=0;i<hotcategory.size();i++){ //取出路径 String img = hotcategory.get(i).getImg(); listimg.add(img);//添加 } getban();//调用banner的方法 } }}
阅读全文
0 0
- 使用addHeaderView给PulltoRefreshListView的添加Banner
- 使用addHeaderView给PullToRefreshListView添加Banner
- PullToRefreshListView的addHeaderView
- PullToRefreshListView的添加Banner头布局
- Banner添加PullTorefreshListView头部
- PullToRefreshListView添加头部Banner
- PullToRefreshListView跟banner的结合使用
- PullToRefreshListView和Banner相连使用
- PullToRefreshListView中如何addHeaderView
- Android,PullToRefreshListView,addHeaderView错误!
- banner加PullToRefreshListView
- PullToRefreshListView添加headView的方法
- PullToRefreshListView 的使用
- PullToRefreshListView的简单使用
- Android--PullToRefreshListView的使用
- PullToRefreshListView的使用
- PullToRefreshListView的使用
- PullToRefreshListView库的使用
- Kaldi
- 常见的HTTP状态码(HTTP Status Code)说明
- 动态分配和静态分配
- 滞涨现象是好位置
- 什么是Desktop Window Manager(dwm.exe)? 它为何运行?
- 使用addHeaderView给PulltoRefreshListView的添加Banner
- 搭建rtmp直播流服务之2:使用java实现ffmpeg命令接口化调用(用java执行ffmpeg命令)
- leetcode 204. Count Primes
- android+微信支付
- StringUtil判断对象为空
- CDH5.4.7安装Hadoop集群安装主机失败
- shell 分支语句基础03
- python+requests接口自动化测试框架实例详解教程(米兔888)
- 进入阿里必备知识-第一部-Webx框架