1 点赞内容添加
/**
* 点赞人布局(默认最多显示10个人)
*
* @param voteUsers
*/
public void setVoteStr(View llVoteView, TextView tvVoteView, final List<CountrySideInfo.VoteUser> voteUsers) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("dz");//点赞图片占位
if (voteUsers == null || voteUsers.size() == 0) {
llVoteView.setVisibility(View.GONE);
return;
}
llVoteView.setVisibility(View.VISIBLE);
String endApend = "等" + voteUsers.size() + "人觉得很赞";
for (int i = 0; i < voteUsers.size(); i++) {
if (i == 0) {
stringBuilder.append(voteUsers.get(i).vcNickName);
} else {
stringBuilder.append("," + voteUsers.get(i).vcNickName);
if (i == 9) {
stringBuilder.append(endApend);
break;
}
}
}
String voteStr = stringBuilder.toString();
SpannableString spannableString = new SpannableString(voteStr);
Drawable drawable = mContext.getResources().getDrawable(R.mipmap.icon_dtdz);//点赞图片赞的小手
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
ImageSpan span = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
spannableString.setSpan(span, 0, "dz".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
int appendLength = 2;
if (voteUsers.size() > 9) {
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#536697")), spannableString.length() - endApend.length(), spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
for (int i = 0; i < voteUsers.size(); i++) {
if (i == 10) {
break;
}
final int finalI = i;
MyClickableSpan clickableSpan = new MyClickableSpan() {
@Override
public void onClick(View widget) {
onVoteNameClickListener.onVoteNameClick(voteUsers.get(finalI).nUserId);
}
};
int endLength = appendLength + voteUsers.get(i).vcNickName.length();
spannableString.setSpan(clickableSpan, appendLength, endLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
appendLength = endLength + 1;
}
tvVoteView.setMovementMethod(LinkMovementMethod.getInstance());
tvVoteView.setText(spannableString);
}
2 点赞人点击事件添加
class MyClickableSpan extends ClickableSpan {
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);//下划线,不要
ds.setColor(Color.parseColor("#536697"));//文字颜色
}
@Override
public void onClick(View widget) {
}
}
3 点击事件监听添加
countrySideAdapter.setOnVoteNameClickListener(NameID -> {
Intent intent = new Intent(activity, PersonalHomeActivity.class);
intent.putExtra("userId", NameID);
startActivity(intent);
});
public interface OnVoteNameClickListener {
void onVoteNameClick(String NameID);
}