Files
expert-app/app/src/main/java/cn/shangyu/gdxzExpert/adapter/DetailCommentAdapter.java
T
2025-11-18 15:12:24 +08:00

225 lines
7.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<CommentData> 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<CommentData> 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("&nbsp", " ");
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();
}
}