package com.lean56.andplug.image.adapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.lean56.andplug.R; import com.lean56.andplug.image.ImageLoadUtils; import com.lean56.andplug.image.entity.ImageInfo; import com.lean56.andplug.image.entity.ImageInfoExtra; import java.util.ArrayList; /** * Folder Select Adapter * * @author Charles */ public class FolderAdapter extends BaseAdapter { ImageLoadUtils mImageLoadUtils; private String mSelect = ""; ArrayList<ImageInfoExtra> mFolderData = new ArrayList<>(); public FolderAdapter(ArrayList<ImageInfoExtra> mFolderData) { this.mFolderData = mFolderData; this.mImageLoadUtils = new ImageLoadUtils(); } public String getSelect() { return mSelect; } public void setSelect(int pos) { if (pos >= getCount()) { return; } mSelect = mFolderData.get(pos).getmName(); notifyDataSetChanged(); } @Override public int getCount() { return mFolderData.size(); } @Override public Object getItem(int position) { return mFolderData.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater mInflater = LayoutInflater.from(parent.getContext()); FoldViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.item_photo_folder, parent, false); holder = new FoldViewHolder(); holder.icon = (ImageView) convertView.findViewById(R.id.iv_icon); holder.name = (TextView) convertView.findViewById(R.id.tv_name); holder.count = (TextView) convertView.findViewById(R.id.tv_count); holder.check = convertView.findViewById(R.id.check); convertView.setTag(holder); } else { holder = (FoldViewHolder) convertView.getTag(); } ImageInfoExtra data = mFolderData.get(position); String uri = data.getPath(); int count = data.getCount(); holder.name.setText(data.getmName()); holder.count.setText(String.format("%d张", count)); mImageLoadUtils.loadPhotoImage(ImageInfo.pathAddPrefix(uri), holder.icon); if (data.getmName().equals(mSelect)) { holder.check.setVisibility(View.VISIBLE); } else { holder.check.setVisibility(View.INVISIBLE); } return convertView; } static class FoldViewHolder { ImageView icon; TextView name; TextView count; View check; } }