package edu.minggo.chat.adapters;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import edu.minggo.chat.R;
import edu.minggo.chat.model.MyPhoto;
import edu.minggo.chat.ui.MyGalleryDetailActivity;
/**
* �ҵ�����������
* @author minggo
* @created 2013-2-6����12:52:04
*/
public class MyGalleryAdapter extends BaseAdapter {
public static final int GET_PHOTO_FROM_LOCAL = 0;
public static final int GET_PHOTO_FROM_CARMERA = 1;
private String today;
private Context context;
public static List<MyPhoto> photos;
private Intent it;
private Map<Integer,View> map = new HashMap<Integer, View>();
@SuppressWarnings("static-access")
public MyGalleryAdapter(Context context,List<MyPhoto> photos){
this.context = context;
this.photos = photos;
this.today=new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
}
@Override
public int getCount() {
return photos.size();
}
@Override
public Object getItem(int position) {
return photos.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public void refresh(){
this.notifyDataSetChanged();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = map.get(position);
ViewHolder viewHolder;
if(convertView==null){
viewHolder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(R.layout.mygallery_list_item, null);
viewHolder.photoView = (ImageView)convertView.findViewById(R.id.myphoto_iv);
viewHolder.dayView = (TextView)convertView.findViewById(R.id.myphoto_day);
viewHolder.monthView = (TextView)convertView.findViewById(R.id.myphoto_mounth);
viewHolder.descView = (TextView)convertView.findViewById(R.id.myphoto_feelings);
System.out.println(position+"______________________________");
map.put(position, convertView);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)convertView.getTag();
}
if(!photos.isEmpty()){
if(!today.substring(0, 8).equals(photos.get(position).getTime().substring(0, 8))){
viewHolder.dayView.setText(photos.get(position).getTime().substring(6, 8));
viewHolder.monthView.setText(photos.get(position).getTime().substring(4, 6)+"��");
}else{
viewHolder.dayView.setText("");
viewHolder.monthView.setText("");
}
viewHolder.descView.setText(photos.get(position).getPhotoDes());
if(photos.get(position).getMyphoto()!=null){
viewHolder.photoView.setImageBitmap(photos.get(position).getMyphoto());
}else{
viewHolder.photoView.setImageResource(R.drawable.xiaohei);
}
viewHolder.photoView.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
if (position<photos.size()) {
it = new Intent(context,MyGalleryDetailActivity.class);
MyPhoto photo = photos.get(position);
photo.setMyphoto(null);
if (photo.getMyphoto()==null) {
System.out.println("ZZZZZZZZZZZZZZZZZz");
}
it.putExtra("bitmap", photos.get(position).getMyphoto());
it.putExtra("MyPhoto", photo);
it.putExtra("position",position);
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(it);
}
}
});
}
return convertView;
}
public class ViewHolder{
ImageView photoView;
TextView dayView;
TextView monthView;
TextView descView;
}
}