您的位置:首页 > 其它

listview多条目加载适配器

2017-10-18 20:08 344 查看
public class ListViewAdapter extends BaseAdapter{

    private Context context;

    private List<ListDataDataBean.ResultsBean> data;

    private final int ONLY_TITLE = 0;

    private final int IMAGE_TITLE = 1;

    public ListViewAdapter(Context context, List<ListDataDataBean.ResultsBean> data) {

        this.context = context;

        this.data = data;

    }

    @Override

    public int getCount() {

        return data.size();

    }

    @Override

    public Object getItem(int i) {

        return data.get(i);

    }

    @Override

    public long getItemId(int i) {

        return i;

    }

    @Override

    public int getViewTypeCount() {

        return 2;

    }

    @Override

    public int getItemViewType(int position) {

        if(data.get(position).getImages() == null){

            return ONLY_TITLE;

        }

        return IMAGE_TITLE;

    }

    @Override

    public View getView(int i, View view, ViewGroup viewGroup) {

        int type = getItemViewType(i);

        if (type == ONLY_TITLE){

            OnlyTitleViewHolder holder;

            if(view == null){

                view = View.inflate(context, R.layout.listview_imagetitle, null);

                holder = new OnlyTitleViewHolder();

                holder.textView = view.findViewById(R.id.listview_textview);

                view.setTag(holder);

            }else{

                holder = (OnlyTitleViewHolder) view.getTag();

            }

            holder.textView.setText(data.get(i).getDesc());

        }else if(type == IMAGE_TITLE){

            ImageTitleViewHolder holder;

            if(view == null){

                view = View.inflate(context, R.layout.listview_imagetitle, null);

                holder = new ImageTitleViewHolder();

                holder.textView = view.findViewById(R.id.listview_textview);

                holder.imageView = view.findViewById(R.id.listview_imageview);

                view.setTag(holder);

            }else{

                holder = (ImageTitleViewHolder) view.getTag();

            }

            holder.textView.setText(data.get(i).getDesc());

            holder.imageView.setScaleType(ImageView.ScaleType.FIT_XY);

            ImageLoader.getInstance().displayImage(data.get(i).getImages().get(0), holder.imageView, ImageLoaderUtil.initOptions());

        }

        return view;

    }

    private class OnlyTitleViewHolder{

        TextView textView;

    }

    private class ImageTitleViewHolder{

        TextView textView;

        ImageView imageView;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: