package net.coding.program.common.photopick;
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.nostra13.universalimageloader.core.ImageLoader;
import net.coding.program.R;
import java.util.ArrayList;
/**
* Created by chenchao on 15/5/6.
*/
public class FolderAdapter extends BaseAdapter {
private String mSelect = "";
ArrayList<ImageInfoExtra> mFolderData = new ArrayList<>();
public FolderAdapter(ArrayList<ImageInfoExtra> mFolderData) {
this.mFolderData = mFolderData;
}
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());
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.photopick_list_item, parent, false);
holder = new ViewHolder();
holder.foldIcon = (ImageView) convertView.findViewById(R.id.foldIcon);
holder.foldName = (TextView) convertView.findViewById(R.id.foldName);
holder.photoCount = (TextView) convertView.findViewById(R.id.photoCount);
holder.check = convertView.findViewById(R.id.check);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ImageInfoExtra data = mFolderData.get(position);
String uri = data.getPath();
int count = data.getCount();
holder.foldName.setText(data.getmName());
holder.photoCount.setText(String.format("%d张", count));
ImageLoader.getInstance().displayImage(ImageInfo.pathAddPreFix(uri), holder.foldIcon,
PhotoPickActivity.optionsImage);
if (data.getmName().equals(mSelect)) {
holder.check.setVisibility(View.VISIBLE);
} else {
holder.check.setVisibility(View.INVISIBLE);
}
return convertView;
}
static class ViewHolder {
ImageView foldIcon;
TextView foldName;
TextView photoCount;
View check;
}
}