String str = "前往门市前请先确认";
String changeText="确认";
SpannableString spanText = new SpannableString(str);
// int start = str.indexOf(changeText);
// int end = start + changeText.length();
int start = 0;
int end = 0;
if (str.indexOf(changeText) == -1) {
// 没有指定字符串的时候不处理,以免找不到数组越界
} else {
start = str.indexOf(changeText);
end = start + changeText.length();
}
spanText.setSpan(new ClickableSpan() {
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
//设置文件颜色
ds.setColor(Color.parseColor("#000000"));
//设置下划线
ds.setUnderlineText(true);
}
@Override
public void onClick(View view) {
}
}, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置点击后的颜色为透明,否则会一直出现高亮
textView.setHighlightColor(Color.TRANSPARENT);
textView.setText(spanText);
textView.setMovementMethod(LinkMovementMethod.getInstance());
?改变指定字符串颜色以及增加下划线,遍历字符串没有找到指定的字符串报数组越界的问题
String index out of range: -1
|