package cn.edu.njupt.allgo.adapter;
import java.util.ArrayList;
import java.util.List;
import cn.edu.njupt.allgo.util.DateUtil;
import cn.edu.njupt.allgo.util.ImageUtil;
import cn.edu.njupt.allgo.vo.EventVo;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import cn.edu.njupt.allgo.R;
import com.haarman.listviewanimations.ArrayAdapter;
import com.lidroid.xutils.BitmapUtils;
public class EventCardsAdapter extends ArrayAdapter<EventVo> {
private List<EventVo> events;
private Context Context;
private ImageUtil imageUtils;
public EventCardsAdapter(Context context,ArrayList<EventVo> events,ImageUtil imageUtils) {
this.Context = context;
this.events = events;
this.imageUtils = imageUtils;
}
@Override
public int getCount() {
return (events==null)?0:events.size();
}
@Override
public EventVo getItem(int position) {
return events.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
EventVo event = getItem(position);
ViewHolder viewHolder;
View view = convertView;
if (view == null) {
view = LayoutInflater.from(Context).inflate(R.layout.list_eventlist_card, parent, false);
viewHolder = new ViewHolder();
viewHolder.textView_username = (TextView) view.findViewById(R.id.textView_username);
viewHolder.textView_place = (TextView) view.findViewById(R.id.textView_place);
viewHolder.textView_outline = (TextView) view.findViewById(R.id.textView_outline);
viewHolder.textView_time = (TextView) view.findViewById(R.id.textView_time);
viewHolder.textView_followerscount = (TextView) view.findViewById(R.id.textView_followerscount);
viewHolder.textView_commentscount = (TextView) view.findViewById(R.id.textView_commentscount);
viewHolder.textView_event_position = (TextView) view.findViewById(R.id.textView_event_position);
viewHolder.imageView_eventlist_when = (ImageView) view.findViewById(R.id.imageView_eventlist_when);
viewHolder.imageView_eventlist_userhead = (ImageView) view.findViewById(R.id.imageView_eventlist_userhead);
view.setTag(viewHolder);
}else {
viewHolder = (ViewHolder) view.getTag();
resetViewHolder(viewHolder);
}
//Log.i("","event.uname==>" + event.getUname());
viewHolder.textView_username.setText(event.getUname());
viewHolder.textView_place.setText(event.getPlace());
viewHolder.textView_outline.setText(event.getOutline());
viewHolder.textView_time.setText(DateUtil.smartDate(event.getStartdate(),event.getEnddate()));
viewHolder.textView_followerscount.setText(""+event.getFollowerscount());
viewHolder.textView_commentscount.setText("" + event.getCommentscount() );
viewHolder.textView_event_position.setText(event.getPosition().split(" ")[0]+
"省 "+event.getPosition().split(" ")[1]+"市 "+event.getPosition().split(" ")[2] );
viewHolder.imageView_eventlist_when.setImageResource(setWhenImage(event.getStartdate(),event.getEnddate()));
imageUtils.configDefaultLoadFailedImage(R.drawable.default_head_widget);
imageUtils.displayAvatar(viewHolder.imageView_eventlist_userhead,event.getUid());
return view;
}
/**
* 动态设置丝带图片
* @param startdate
* @param enddate
* @return
*/
private int setWhenImage(String startdate, String enddate) {
int image = 1;
switch(DateUtil.judgeDate(startdate, enddate)){
case 1:
image = R.drawable.silk_riband_red_past;
break;
case 2:
image = R.drawable.silk_riband_blue_being;
break;
case 3:
image = R.drawable.silk_riband_green_goingto;
break;
}
return image;
}
private void resetViewHolder(ViewHolder viewHolder) {
// TODO 自动生成的方法存根
//Log.i("Debug","==resetViewHolder==");
viewHolder.textView_username.setText(null);
viewHolder.textView_place.setText(null);
viewHolder.textView_outline.setText(null);
viewHolder.textView_time.setText(null);
viewHolder.textView_followerscount.setText(null);
viewHolder.textView_commentscount.setText(null);
viewHolder.textView_event_position.setText(null);
}
private static class ViewHolder {
TextView textView_username;
TextView textView_place;
TextView textView_outline;
TextView textView_time;
TextView textView_followerscount;
TextView textView_commentscount;
TextView textView_event_position;
ImageView imageView_eventlist_when;
ImageView imageView_eventlist_userhead;
}
}