我正在尝试在spannable字符串上设置两个跨度,但唯一显示的是后一个字符串。我期待第一个由于索引问题而出现,但第二个却出现了。第二组跨度是否覆盖第一组?我看到了他们声称有效的样品,不知道为什么我的样品没有。这是片段。谢谢!
String targetStr = "target1";
String targetStr2 = "target2";
String str = "Lorem ipsum target1 dolor target2 sit amet";
Drawable icon = getResources().getDrawable(R.drawable.img);
icon.setBounds(0, 0, textView.getLineHeight(), textView.getLineHeight());
ImageSpan is = new ImageSpan(icon);
SpannableString text = new SpannableString(str);
int indOf = str.indexOf(targetStr);
int lenOf = targetStr.length();
text.setSpan(is, indOf, indOf + lenOf, 0);
int indOf1 = str.indexOf(targetStr2);
int lenOf1 = targetStr2.length();
text.setSpan(is, indOf1, indOf1 + lenOf1, 0);
textView.setText(text);
答案: 大声笑。如此愚蠢。答案是你只能使用ImageSpan一次,所以我不得不设置另一个图像跨度,即使它具有相同的值。
答案 0 :(得分:3)
LOL。如此愚蠢。答案是你只能使用ImageSpan一次,所以我不得不设置另一个图像跨度,即使它具有相同的值。