package com.gzsll.hupu.ui.gallery;
import android.net.Uri;
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.facebook.drawee.view.SimpleDraweeView;
import com.gzsll.hupu.R;
import com.gzsll.hupu.bean.Folder;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by sll on 2016/3/9.
*/
public class FolderAdapter extends BaseAdapter {
private List<Folder> folders = new ArrayList<>();
private int lastSelected = 0;
@Inject
public FolderAdapter() {
}
public void bind(List<Folder> folders) {
this.folders = folders;
notifyDataSetChanged();
}
public void setSelectIndex(int i) {
if (lastSelected == i) return;
lastSelected = i;
notifyDataSetChanged();
}
public int getSelectIndex() {
return lastSelected;
}
private int getTotalImageSize(List<Folder> mFolders) {
int result = 0;
if (mFolders != null && mFolders.size() > 0) {
for (Folder f : mFolders) {
result += f.images.size();
}
}
return result;
}
@Override
public int getCount() {
return folders.size();
}
@Override
public Folder getItem(int position) {
return folders.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_list_folder, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Folder folder = folders.get(position);
if (position == 0) {
holder.tvName.setText("所有图片");
holder.tvSize.setText(getTotalImageSize(folders) + "张");
if (!folders.isEmpty()) {
holder.ivCover.setImageURI(Uri.fromFile(new File(folder.cover.path)));
}
} else {
holder.tvName.setText(folder.name);
holder.tvSize.setText(folder.images.size() + "张");
holder.ivCover.setImageURI(Uri.fromFile(new File(folder.cover.path)));
}
holder.ivIndicator.setVisibility(lastSelected == position ? View.VISIBLE : View.GONE);
return convertView;
}
static class ViewHolder {
@BindView(R.id.ivCover)
SimpleDraweeView ivCover;
@BindView(R.id.tvName)
TextView tvName;
@BindView(R.id.tvSize)
TextView tvSize;
@BindView(R.id.ivIndicator)
ImageView ivIndicator;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
}