mn Adapter2

来源:互联网 发布:网络直播市场分析 编辑:程序博客网 时间:2024/04/29 15:38

MyAdapter

package com.example.dibu.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.dibu.Bean.Result;
import com.example.dibu.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;


import java.util.List;


public class MyAdapter extends BaseAdapter {


    private List<Result.DataEntity> datas;
    private Context context;
    private DisplayImageOptions options;




    public MyAdapter(List<Result.DataEntity> datas, Context context) {
        this.datas = datas;
        this.context = context;
        options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//使用内存缓存
                .cacheOnDisk(true)//使用磁盘缓存
                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式
                .build();
    }


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


    @Override
    public Object getItem(int position) {
        return datas.get(position);
    }


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


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            convertView = View.inflate(context, R.layout.item, null);
            holder = new ViewHolder();
            holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_title);
            holder.img = (ImageView) convertView.findViewById(R.id.img);


            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();


        }
        holder.tvTitle.setText(datas.get(position).getTITLE());
        if (datas.get(position).getIMAGEURL() == null || datas.get(position).getIMAGEURL().equals("")) {
            holder.img.setImageResource(R.mipmap.ic_launcher);
        } else {
            //imageLoader加载图片
            ImageLoader.getInstance().displayImage(datas.get(position).getIMAGEURL(), holder.img, options);
        }


        return convertView;
    }


    class ViewHolder {
        TextView tvTitle;
        ImageView img;
    }
}




MyLvAdapter


package com.example.dibu.Adapter;


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


import com.example.dibu.Bean.Results;
import com.example.dibu.R;
import com.example.dibu.Utils.ImageloaderUtil;
import com.nostra13.universalimageloader.core.ImageLoader;


import java.util.List;




public class MyLvAdapter extends BaseAdapter {
    private List<Results.ResultsEntity> lists;
    private Context context;


    //定义视图类型
    private final int TYPE_TITLE = 0;
    private final int TYPE_PIC = 1;


    public MyLvAdapter(List<Results.ResultsEntity> lists, Context context) {
        this.lists = lists;
        this.context = context;
    }


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




    //返回视图类型的数量
    @Override
    public int getViewTypeCount() {
        return 2;
    }


    //根据当前的条目的下标,返回此条目对应的视图类型
    @Override
    public int getItemViewType(int position) {
        //根据数据去判断返回的类型
        Results.ResultsEntity entity = lists.get(position);
        List<String> imgurl = entity.getImages();
        if (imgurl == null) {
            return TYPE_TITLE;
        } else {
            return TYPE_PIC;
        }


    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        //根据position得到视图类型
        int type = getItemViewType(position);
        if (type == TYPE_TITLE) {
            ViewHolderTitle holderTitle;
            if (convertView == null) {
                holderTitle = new ViewHolderTitle();
                convertView = View.inflate(context, R.layout.item1, null);
                holderTitle.textView = (TextView) convertView.findViewById(R.id.tv_title);
                convertView.setTag(holderTitle);


            } else {
                holderTitle = (ViewHolderTitle) convertView.getTag();
            }
            holderTitle.textView.setText(lists.get(position).getDesc());




        } else if (type == TYPE_PIC) {


            ViewHolderPic holderPic;
            if (convertView == null) {
                holderPic = new ViewHolderPic();
                convertView = View.inflate(context, R.layout.item2, null);
                holderPic.textView = (TextView) convertView.findViewById(R.id.tv_title);
                holderPic.imageView = (ImageView) convertView.findViewById(R.id.img);
                convertView.setTag(holderPic);


            } else {
                holderPic = (ViewHolderPic) convertView.getTag();
            }
            holderPic.textView.setText(lists.get(position).getDesc());


            //加载图片
            ImageLoader.getInstance().displayImage(
                    lists.get(position).getImages().get(0),
                    holderPic.imageView,
                    ImageloaderUtil.getImageOptions());




        }




        return convertView;
    }


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


    @Override
    public Object getItem(int position) {
        return lists.get(position);
    }


    class ViewHolderTitle {
        TextView textView;
    }


    class ViewHolderPic {
        TextView textView;
        ImageView imageView;
    }


}




MyPagerAdapter


package com.example.dibu.Adapter;


import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;


import com.example.dibu.Frag.RmFrag;


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


public class MyPagerAdapter extends FragmentPagerAdapter {
    private List<String> tabs = new ArrayList<String>();


    public MyPagerAdapter(FragmentManager fm, List<String> tabs) {
        super(fm);
        this.tabs = tabs;
    }


    @Override
    public CharSequence getPageTitle(int position) {
        return tabs.get(position);
    }


    @Override
    public Fragment getItem(int position) {
        Fragment f = null;
        switch (position) {
            case 0:
                f = new RmFrag();
                break;
            case 1:
                f = new RmFrag();
                break;
            case 2:
                f = new RmFrag();
                break;
        }
        return f;
    }


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

原创粉丝点击