package com.mzeat.ui.adapter;
import com.mzeat.MzeatApplication;
import com.mzeat.R;
import com.mzeat.UIHelper;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.TextView;
import com.mzeat.image.BitmapManager;
import com.mzeat.image.ImageCache;
import com.mzeat.image.ImageResizer;
import com.mzeat.model.ShareItem;
import com.mzeat.ui.SharePhoto;
import com.mzeat.util.SmileyParser;
import com.mzeat.util.StringUtils;
public class ShareListAdapter extends
GenerateListViewWithImagesBaseAdapter<ShareItem> {
private Context context;
private BitmapManager bmpManager;
SmileyParser parser ;
public ShareListAdapter(Context context) {
super(context);
// TODO Auto-generated constructor stub
this.context = context;
this.bmpManager = new BitmapManager(BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_image));
SmileyParser.init(this.context);
parser = SmileyParser.getInstance();
}
@Override
protected View createView(int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = getLayoutInflater();
View convertView = inflater.inflate(R.layout.listitem_share, null);
ViewHolder holder = new ViewHolder();
holder.username = (TextView) convertView.findViewById(R.id.username);
holder.creat_time = (TextView) convertView.findViewById(R.id.time);
holder.content = (TextView) convertView.findViewById(R.id.content);
holder.say = (TextView) convertView.findViewById(R.id.saycount);
holder.img_user = (ImageView) convertView.findViewById(R.id.img_user);
holder.sentfrom = (TextView) convertView.findViewById(R.id.sentfrom);
holder.tv_sentfrom = (TextView) convertView.findViewById(R.id.tv_sentfrom);
holder.img_content = (ImageView) convertView
.findViewById(R.id.img_content);
convertView.setTag(holder);
return convertView;
}
@Override
protected void fillDataToView(View convertView, int position) {
// TODO Auto-generated method stub
final ShareItem item = getItem(position);
if (null == item)
return;
ViewHolder holder = (ViewHolder) convertView.getTag();
holder.username.setText(item.getUser_name());
holder.creat_time.setText(StringUtils.friendly_time(item
.getCreate_time()));
holder.say.setText("评论"+ "("+item.getReply_count()+")");
if (!StringUtils.isEmpty(item.getUser_avatar())) {
//loadImage(position, holder.img_user);
Log.e("getUser_avatar", item.getUser_avatar());
bmpManager.loadBitmap(item.getUser_avatar(),holder.img_user, BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_image));
}
if (!item.getTitle().equals("")) {
StringBuffer sb = new StringBuffer();
sb.append("#");
sb.append(item.getTitle());
sb.append("#");
sb.append(item.getContent());
SpannableStringBuilder spannable = new SpannableStringBuilder(
sb.toString());
int begin = 0;
spannable.setSpan(new ForegroundColorSpan(Color.RED), begin, item
.getTitle().length()+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.content.setText(parser.addSmileySpans(spannable));
} else {
holder.content.setText(parser.addSmileySpans(item.getContent()));
}
final int pos = position;
if (!StringUtils.isEmpty(item.getImg())) {
bmpManager.loadBitmap(item.getSmall_img(), holder.img_content, BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_image));
//final String img_url = item.getImg();
holder.img_content.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(context, SharePhoto.class);
intent.putExtra("img_url", item.getImg());
intent.putExtra("fromShareList" , 1);
context.startActivity(intent);
}
});
} else {
holder.img_content.setVisibility(View.GONE);
}
if (item.getSend_from()!= null && !StringUtils.isEmpty(item.getSend_from())) {
holder.sentfrom.setVisibility(View.VISIBLE);
holder.tv_sentfrom.setVisibility(View.VISIBLE);
holder.tv_sentfrom.setText(item.getSend_from());
}else {
holder.sentfrom.setVisibility(View.GONE);
holder.tv_sentfrom.setVisibility(View.GONE);
}
}
private class ViewHolder {
TextView username;
TextView content;
TextView say;
TextView creat_time;
ImageView img_user;
ImageView img_content;
TextView sentfrom;
TextView tv_sentfrom;
}
@Override
protected String getImageUrl(int index) {
// TODO Auto-generated method stub
ShareItem item = getItem(index);
String imageUrl = item.getUser_avatar();
return item == null ? null : imageUrl;
}
@Override
protected int getItemImageWidth() {
// TODO Auto-generated method stub
return LayoutParams.WRAP_CONTENT;
}
@Override
protected int getItemImageHeight() {
// TODO Auto-generated method stub
return LayoutParams.WRAP_CONTENT;
}
}