私の問題は、ここで説明した問題と非常によく似ています。ただし、Android4.2デバイスでテストする場合にのみ表示されます。Android 2.2を搭載した古いテストデバイスでは、すべてが非常にうまく機能します。
私の問題
TextViewの途中にImageSpanを追加しています。このシェルは、TextViewの1文字を置き換えます。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);
スクリーンショット
私がこれまでに試したこと
追加できるほぼすべてのスパンsetSpan
定数を試しましたが、4.2デバイスでは何も機能しません。