抽屉布局+xlistview+上拉、下拉+imageLoad

来源:互联网 发布:生产线设计软件 编辑:程序博客网 时间:2024/06/05 04:05

package com.example.a10_drawerlayout_demo.adapter;


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


import com.example.a10_drawerlayout_demo.R;
import com.example.a10_drawerlayout_demo.bean.WeiXinBean;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;


import java.util.List;


/**
 * @author Dash
 * @date 2017/9/8
 * @description:
 */
public class MyAdapter extends BaseAdapter {
    Context context;
    List<WeiXinBean.ResultBean.ListBean> list;
    private int LEFT = 0;
    private int RIGHT =1;


    public MyAdapter(Context context, List<WeiXinBean.ResultBean.ListBean> list) {
        this.context = context;
        this.list = list;


        ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(context));
    }


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


    @Override
    public Object getItem(int i) {
        return list.get(i);
    }


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


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


    @Override
    public int getItemViewType(int position) {
        if (position%2 == 0){
            return LEFT;
        }
        return RIGHT;
    }


    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (getItemViewType(i) == LEFT){
            LeftHolder holder;
            if (view == null){
                view  =View.inflate(context, R.layout.item_layout_01,null);
                holder = new LeftHolder();


                holder.textView = view.findViewById(R.id.text_title);
                holder.imageView = view.findViewById(R.id.iamge_01);


                view.setTag(holder);


            }else {
                holder = (LeftHolder) view.getTag();
            }


            //赋值
            holder.textView.setText(list.get(i).getTitle());


            ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),holder.imageView,getOption());




        }else if (getItemViewType(i) == RIGHT){
            RightHolder holder;
            if (view == null){
                view  =View.inflate(context, R.layout.item_layout_02,null);
                holder = new RightHolder();


                holder.textView = view.findViewById(R.id.text_title);
                holder.imageView = view.findViewById(R.id.iamge_02);


                view.setTag(holder);


            }else {
                holder = (RightHolder) view.getTag();
            }


            //赋值
            holder.textView.setText(list.get(i).getTitle());


            ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),holder.imageView,getOption());


        }






        return view;
    }


    private DisplayImageOptions getOption() {
        DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
                .showImageForEmptyUri(R.mipmap.ic_launcher)
                .showImageOnFail(R.mipmap.ic_launcher)
                .showImageOnLoading(R.mipmap.ic_launcher)
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
                .resetViewBeforeLoading(true)//在加载之前复位一下显示
                .bitmapConfig(Bitmap.Config.RGB_565)//图片的质量
                .considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转)
                .build();
        return imageOptions;


    }


    private class LeftHolder{
        TextView textView;
        ImageView imageView;
    }


    private class RightHolder{
        TextView textView;
        ImageView imageView;
    }




}

原创粉丝点击