package com.mzeat.ui.adapter;
import java.util.ArrayList;
import java.util.List;
import com.mzeat.R;
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.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.mzeat.image.BitmapManager;
import com.mzeat.model.MyShareItem;
import com.mzeat.model.MyShareItemImgs;
import com.mzeat.ui.SharePhoto;
import com.mzeat.util.SmileyParser;
import com.mzeat.util.StringUtils;
public class MyShareListAdapter extends BaseAdapter {
private Context context;
private BitmapManager bmpManager;
private SmileyParser parser ;
private LayoutInflater inflater;
public MyShareListAdapter(Context 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();
this.inflater = LayoutInflater.from(this.context);
}
private class ViewHolder {
TextView username;
TextView content;
TextView say;
TextView creat_time;
ImageView img_user;
ImageView img_content;
//TextView sentfrom;
//TextView tv_sentfrom;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return data.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
//if (convertView == null) {
convertView = inflater.inflate(R.layout.listitem_share, null);
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);
//} else {
// holder = (ViewHolder) convertView.getTag();
//}
//MyShareItem item = (MyShareItem) getItem(position);
holder.username.setText(data.get(position).getUser_name());
holder.creat_time.setText(data.get(position).getTime());
holder.say.setText("评论"+ "("+data.get(position).getComment_count()+")");
if (!StringUtils.isEmpty(data.get(position).getUser_avatar())) {
bmpManager.loadBitmap(data.get(position).getUser_avatar(),holder.img_user, BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_image));
}
if (!data.get(position).getTitle().equals("")) {
StringBuffer sb = new StringBuffer();
sb.append("#");
sb.append(data.get(position).getTitle());
sb.append("#");
sb.append(data.get(position).getContent());
SpannableStringBuilder spannable = new SpannableStringBuilder(
sb.toString());
int begin = 0;
spannable.setSpan(new ForegroundColorSpan(Color.RED), begin, data.get(position).getTitle().length()+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.content.setText(parser.addSmileySpans(spannable));
} else {
holder.content.setText(parser.addSmileySpans(data.get(position).getContent()));
}
//final MyShareItemImgs imgs = item.getImgs();
final int pos = position;
if (data.get(position).getImgs() != null) {
bmpManager.loadBitmap(data.get(position).getImgs().getSmall_img(), holder.img_content, BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_image));
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", data.get(pos).getImgs().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);
}
**/
return convertView;
}
private List<MyShareItem> data;
public void setData(List<MyShareItem> data) {
this.data = data;
}
public List<MyShareItem> getData() {
return this.data;
}
public void clearData() {
this.data.clear();
notifyDataSetChanged();
}
}