package com.ihateflyingbugs.kidsm.gallery;
import java.util.ArrayList;
import com.ihateflyingbugs.kidsm.ImageLoader;
import com.ihateflyingbugs.kidsm.R;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
public class AlbumAdapter extends BaseAdapter {
ArrayList<Photo> photoList;
Context contxt;
int numOfColumn;
public ImageLoader imageLoader;
public AlbumAdapter(ArrayList<Photo> photoList, Context context, int numOfColumn) {
this.photoList = photoList;
this.contxt=context;
this.numOfColumn = numOfColumn;
this.imageLoader = new ImageLoader(context, R.drawable.photo_in_album_default);
}
@Override
public int getCount() {
return photoList.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// create a new LayoutInflater
LayoutInflater inflater = (LayoutInflater) contxt
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (photoList.get(position).layout == null) {
// photoList.get(position).layout = new View(contxt);
// inflating grid view item
photoList.get(position).layout = inflater.inflate(R.layout.gallery_photo, parent, false);
DisplayMetrics displaymetrics = new DisplayMetrics();
((Activity) contxt).getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int size = (displaymetrics.widthPixels - 6*(numOfColumn+1))/numOfColumn;
photoList.get(position).layout.setLayoutParams(new GridView.LayoutParams(size, size));
CheckBox cb = (CheckBox) photoList.get(position).layout.findViewById(R.id.gallery_check);
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked)
buttonView.setBackground(contxt.getResources().getDrawable(R.drawable.photo_in_album_select));
else
buttonView.setBackgroundColor(Color.TRANSPARENT);
}
});
}
CheckBox btn = (CheckBox) photoList.get(position).layout.findViewById(R.id.gallery_photo_scrap);
btn.setChecked(!photoList.get(position).member_scrap_srl.isEmpty());
//deprecate
btn.setTag(position);
CheckBox cb = (CheckBox) photoList.get(position).layout.findViewById(R.id.gallery_check);
//deprecate
cb.setTag(-position-1);
if(photoList.size() != 0) {
ImageView image = (ImageView) photoList.get(position).layout.findViewById(R.id.gallery_photo);
imageLoader.DisplayImage(((Activity)contxt).getString(R.string.image_url)+photoList.get(position).photo_path, image);
image.setTag(position);
// String[] tokens = photoList.get(position).photo_path.split("/");
// String uri = "";
// for( int i = 0; i < tokens.length; i++ ) {
// uri += tokens[i];
// if( i == 0 )
// uri += "/";
// }
// imageLoader.DisplayImage(((Activity)contxt).getString(R.string.image_url)+uri, image);
}
return photoList.get(position).layout;
}
}