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