我的问题与此处描述的问题非常相似。但它仅在 Android 4.2 设备上测试时出现。在带有 Android 2.2 的旧测试设备上,一切都很好。
我的问题
我在 TextView 的中间添加了一个 ImageSpan,它的外壳替换了 TextView 的一个字符。在 Android 4.2中,ImageSpan 之后不会显示任何文本。在 Android 2.2 中,一切正常。
代码示例
CharSequence chars = txtView.getText();
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(chars);
for (int i = 0; i < chars.length(); i++) {
int codePoint = Character.codePointAt(chars, i);
if (codePoint > 255) {
// loading the bitmap ...
ImageSpan img = new ImageSpan(context, bmp, ImageSpan.ALIGN_BASELINE);
stringBuilder.replace(i, i + 1, "");
stringBuilder.setSpan(img, i, i + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
txtView.setText(stringBuilder, BufferType.SPANNABLE);
截图
到目前为止我尝试过的
我尝试了几乎所有可以添加的 Spanned -Constant,但setSpan
在 4.2 设备上没有任何效果。