TextView 设置部分文字颜色及点击事件SpannableString

时间:2021-10-16 23:24:16

设置TextView中一部分文字的颜色及点击事件。

SpannableString gotoMsgListStr = new SpannableString("消息列表");
gotoMsgListStr.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
startActivity(new Intent(OrderPayStatusActivity.this, MsgListActivity.class));
finish();
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(getResources().getColor(R.color.text_color_gules)); //设置颜色
}
}, 0, gotoMsgListStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
...
tvPayDesc.append(gotoMsgListStr);
tvPayDesc.setMovementMethod(LinkMovementMethod.getInstance()); //很重要,点击无效就是由于没有设置这个引起