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(); } }