package com.wb.sc.adapter; import java.util.Date; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Color; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.style.ForegroundColorSpan; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.android.volley.toolbox.NetworkImageView; import com.android.volley.toolbox.NetworkImageView.NetworkImageListener; import com.common.date.FormatDateTime; import com.common.media.BitmapHelper; import com.wb.sc.R; import com.wb.sc.app.SCApp; import com.wb.sc.bean.CommentList; import com.wb.sc.bean.CommentList.Item; import com.wb.sc.config.NetConfig; public class CommentListAdapter extends BaseAdapter implements NetworkImageListener{ private Context mContext; private CommentList mCommentList; public CommentListAdapter(Context context, CommentList list) { mContext = context; mCommentList = list; } @Override public int getCount() { return mCommentList.datas.size(); } @Override public Object getItem(int position) { return mCommentList.datas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = null; ViewHolder holder; if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(mContext); view = inflater.inflate(R.layout.comment_list_item_layout, null); holder = new ViewHolder(); holder.avatarIv = (NetworkImageView) view.findViewById(R.id.avatar); holder.nameTv = (TextView) view.findViewById(R.id.name); holder.timeTv = (TextView) view.findViewById(R.id.time); holder.commentTv = (TextView) view.findViewById(R.id.comment); view.setTag(holder); } else { view = convertView; holder = (ViewHolder) view.getTag(); } Item item = mCommentList.datas.get(position); if(!TextUtils.isEmpty(item.sourceAvatar)) { holder.avatarIv.setImageUrl(NetConfig.getPictureUrl(item.sourceAvatar), SCApp.getInstance().getImageLoader()); } holder.nameTv.setText(item.sourceName); Date timeDate = FormatDateTime.string2Date(item.time, FormatDateTime.DATETIME_YMDHMS_STR); String time = FormatDateTime.date2String(timeDate, FormatDateTime.DATETIME_YMDHMS); holder.timeTv.setText(time); if(TextUtils.isEmpty(item.parentSourceId)) { holder.commentTv.setText(item.content); } else { ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE); String content = "回复@"+item.parentSourceName + ":" + item.content; SpannableStringBuilder builder = new SpannableStringBuilder(content); builder.setSpan(blueSpan, 2, item.parentSourceName.length()+2+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); holder.commentTv.setText(builder); } return view; } class ViewHolder { NetworkImageView avatarIv; TextView nameTv; TextView timeTv; TextView commentTv; } @Override public void onGetBitmapListener(ImageView imageView, Bitmap bitmap) { Bitmap roundBmp = BitmapHelper.toRoundCorner(bitmap, bitmap.getHeight()/2); imageView.setImageBitmap(roundBmp); } }