banner图片

来源:互联网 发布:java中遍历数组 编辑:程序博客网 时间:2024/05/21 17:01
package com.example.month_ont;

import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.month_ont.bean.BookBean;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.listener.OnBannerListener;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by 蜕变~成蝶 on 2017/8/22.
 */

public class MyAdapter extends BaseAdapter {
    private List<String> imgs = new ArrayList<>();
    private List<String> tiitle = new ArrayList<>();
    private List<BookBean.ResultBean.BookListBean> list = new ArrayList<>();
    private Context context;
    private ImageLoader loader;
    private DisplayImageOptions options;
    private final int banner_type = 0, img_type = 1;

    public MyAdapter(List<BookBean.ResultBean.BookListBean> list, Context context) {
        this.list.addAll(list);
        this.context = context;
        ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(context);
        loader = ImageLoader.getInstance();
        loader.init(configuration);
        options = new DisplayImageOptions.Builder()
                .cacheOnDisk(true)
                .cacheInMemory(true)
                .build();
        imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502983209228&di=56ea541cc69236a98eefd78c48e9b925&imgtype=jpg&src=http%3A%2F%2Fimg4.imgtn.bdimg.com%2Fit%2Fu%3D1264996776%2C4079453714%26fm%3D214%26gp%3D0.jpg");
        imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502983251435&di=ea3107bd59084dad644065b7b2cf2a22&imgtype=jpg&src=http%3A%2F%2Fimg2.imgtn.bdimg.com%2Fit%2Fu%3D2259645548%2C2938965904%26fm%3D214%26gp%3D0.jpg");
        imgs.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502983277151&di=04080c254a402de8e416b95ff7a01af7&imgtype=0&src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F911%2F021616153629%2F160216153629-11.jpg");
        tiitle.add("第一张图片");
        tiitle.add("第二张图片");
        tiitle.add("第三张图片");
    }

    @Override
    public int getCount() {
        return list.size() + 1;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        ViewHolder1 holder1 = null;
        ViewHolder2 holder2 = null;
        if (convertView == null) {
            switch (type) {
                case banner_type:
                    convertView = View.inflate(context, R.layout.xlist_item_banner, null);
                    holder1 = new ViewHolder1(convertView);
                    convertView.setTag(holder1);
                    break;
                case img_type:
                    convertView = View.inflate(context, R.layout.xlist_item, null);
                    holder2 = new ViewHolder2(convertView);
                    convertView.setTag(holder2);
                    break;
                default:
                    break;
            }
        } else {
            switch (type) {
                case banner_type:
                    holder1 = (ViewHolder1) convertView.getTag();
                    break;
                case img_type:
                    holder2 = (ViewHolder2) convertView.getTag();
                    break;
                default:
                    break;
            }
        }

        switch (type) {
            case banner_type:
                holder1.F_banner.setImageLoader(new com.youth.banner.loader.ImageLoader() {
                    @Override
                    public void displayImage(Context context, Object path, ImageView imageView) {
                            loader.displayImage((String)path,imageView,options);
                    }
                });
                holder1.F_banner.setImages(imgs);
                holder1.F_banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
                holder1.F_banner.setBannerTitles(tiitle);
                holder1.F_banner.start();

                break;
            case img_type:
                BookBean.ResultBean.BookListBean bean = list.get(position-1);
                holder2.F_name.setText(bean.getName());
                holder2.F_area.setText(bean.getArea());
                loader.displayImage(bean.getCoverImg(),holder2.F_img,options);
                break;
            default:
                break;
        }

        return convertView;
    }

    @Override
    public int getItemViewType(int position) {
        if (position == 0) {
            return banner_type;
        }
        return img_type;
    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

    public static class ViewHolder1 {
        public View rootView;
        public Banner F_banner;

        public ViewHolder1(View rootView) {
            this.rootView = rootView;
            this.F_banner = (Banner) rootView.findViewById(R.id.F_banner);
        }

    }

    public static class ViewHolder2 {
        public View rootView;
        public TextView F_name;
        public ImageView F_img;
        public TextView F_area;

        public ViewHolder2(View rootView) {
            this.rootView = rootView;
            this.F_name = (TextView) rootView.findViewById(R.id.F_name);
            this.F_img = (ImageView) rootView.findViewById(R.id.F_img);
            this.F_area = (TextView) rootView.findViewById(R.id.F_area);
        }

    }
}


原创粉丝点击