我知道我可以用TextView
更改Spannable
部分的颜色,我用它来更改文本中每个字符'e'的颜色。但是我得到了这个错误:
java.lang.IndexOutOfBoundsException:setSpan(55 ... 56)结束于
长度0
我的代码:
aye="My Text has been written today";
SpannableString spantext=new SpannableString(aye);
for (int i=0;i<aye.length();i++) {
if (aye.contains("e")) {
a+=aye.indexOf("e", a)+1;
spantext.setSpan(new ForegroundColorSpan(Color.RED), a, a+1, 0);
holder.tv_arabic.setText(spantext);
}
}
可以吗
最佳答案
尝试这个:
aye="My Text has been written today";
String newText = aye.replace("e", "<font color=#FF0000>e</font>");
holder.tv_arabic.setText(Html.fromHtml(newText));
https://stackoverflow.com/a/6094346/3922891的原始想法