package cn.shangyu.gdxzExpert.adapter; import android.content.DialogInterface; import android.content.Intent; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.activity.CaseCussionDetailActivity; import cn.shangyu.gdxzExpert.activity.SettingFeedbackActivity; import cn.shangyu.gdxzExpert.bean.CommentBean.CommentData; import cn.shangyu.gdxzExpert.utils.ImageOptions; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.view.MyTextView; import cn.shangyu.gdxzExpert.widget.ECAlertDialog; public class DetailCommentAdapter extends BaseAdapter { List datas; CaseCussionDetailActivity mActivity; String uuid; ForegroundColorSpan redSpan, greySpan; public DetailCommentAdapter(CaseCussionDetailActivity mActivity, String uuid) { this.uuid = uuid; this.datas = datas; this.mActivity = mActivity; redSpan = new ForegroundColorSpan(mActivity.getResources().getColor( R.color.top_title)); greySpan = new ForegroundColorSpan(mActivity.getResources().getColor( R.color.darkGrey)); // redSpan2 = new ForegroundColorSpan(mActivity.getResources().getColor( // R.color.red)); } public void getDatas(List datas) { this.datas = datas; } @Override public int getCount() { // TODO Auto-generated method stub if (datas == null) { return 0; } return datas.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return datas.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 vh = null; if (convertView == null) { convertView = UIUtils.inflate(R.layout.item_comment); vh = new ViewHolder(); vh.mIv_delete = (ImageView) convertView .findViewById(R.id.iv_item_comment_delete); vh.mIv_tou = (ImageView) convertView .findViewById(R.id.iv_patient_touxiang); vh.mTv_content = (MyTextView) convertView .findViewById(R.id.item_comment_content); vh.mTv_name = (TextView) convertView .findViewById(R.id.item_comment_name); vh.mTv_time = (TextView) convertView .findViewById(R.id.item_comment_time); vh.mTv_hf = (TextView) convertView .findViewById(R.id.item_comment_hf); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); } if (!TextUtils.isEmpty(datas.get(position).getPhoto()) && !"null".equals(datas.get(position).getPhoto())) { ImageLoader .getInstance() .displayImage( Url.urlHtml + datas.get(position).getPhoto(), vh.mIv_tou, ImageOptions .getImageOptions(R.drawable.icon_touxiang_persion_gray_big)); } else { vh.mIv_tou.setImageResource(R.drawable.icon_touxiang_persion_gray_big); } String content = datas.get(position).getComment().replaceAll(":", ":").replaceAll(" ", "") .replaceAll(" ", " "); if (content.contains("||")) { // SpannableStringBuilder builder = new SpannableStringBuilder(content); // builder.setSpan(greySpan, content.indexOf("||"), content.length(), // Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // // vh.mTv_content.setText(builder); // // builder.setSpan(redSpan2, content.indexOf("||"), // // content.indexOf("||") + 2, // // Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // vh.mTv_content.setSpecifiedTextsColor(content, "||", // Color.parseColor("#FF0000"), builder); vh.mTv_content.setTextColor(mActivity.getResources().getColor(R.color.top_title)); int i=content.indexOf("||"); String sss=content.replaceAll("\\|\\|", "\n\n"); SpannableStringBuilder builder = new SpannableStringBuilder(sss); builder.setSpan(greySpan, i, sss.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); vh.mTv_content.setText(builder); } else if (content.contains("回复") && content.contains(":")) { vh.mTv_content.setTextColor(mActivity.getResources().getColor(R.color.darkGrey)); if (content.indexOf(":") - content.indexOf("回复") > 0) { SpannableStringBuilder builder = new SpannableStringBuilder( content); builder.setSpan(redSpan, 3, content.indexOf(":"), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); vh.mTv_content.setText(builder); } else { vh.mTv_content.setText(content); } } else { vh.mTv_content.setTextColor(mActivity.getResources().getColor(R.color.darkGrey)); vh.mTv_content.setText(content); } if (datas.get(position).getCreate_date().length() > 16) { vh.mTv_time.setText(datas.get(position).getCreate_date() .substring(5, 16)); } else { vh.mTv_time.setText(datas.get(position).getCreate_date()); } vh.mTv_name.setText(datas.get(position).getRealname()); if (uuid.equals(datas.get(position).getExpert_uuid())) { vh.mIv_delete.setVisibility(View.VISIBLE); vh.mTv_hf.setVisibility(View.GONE); } else { vh.mIv_delete.setVisibility(View.GONE); vh.mTv_hf.setVisibility(View.VISIBLE); } vh.mIv_delete.setTag(position); vh.mIv_delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub delVisit((Integer) v.getTag()); } }); vh.mTv_hf.setTag(position); vh.mTv_hf.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(mActivity, SettingFeedbackActivity.class); intent.setType("commentY"); intent.putExtra("name", datas.get((Integer) v.getTag()) .getRealname()); intent.putExtra("uuid", datas.get((Integer) v.getTag()) .getExpert_uuid()); intent.putExtra("content", datas.get((Integer) v.getTag()) .getComment()); mActivity.startActivityForResult(intent, mActivity.GET_HF_COMMENT_RESULT); } }); return convertView; } class ViewHolder { ImageView mIv_tou, mIv_delete; TextView mTv_name, mTv_time, mTv_hf; MyTextView mTv_content; } ECAlertDialog buildAlert; public void delVisit(final int positions) { buildAlert = ECAlertDialog.buildAlert(mActivity, "删除此评论?", "取消", "确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub buildAlert.dismiss(); } }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub //mActivity.getDeleteComment(positions); buildAlert.dismiss(); } }); buildAlert.setTitle("提示"); buildAlert.setTitleColor(mActivity.getResources().getColor( R.color.top_title)); buildAlert.show(); } }