次のテキストとスタイルを my に設定しますEditText
。
SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append("Hello");
sb.setSpan(new StyleSpan(Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.append("World Test");
et.setText(sb);
結果は「Hello World Test」です。これで問題ありません。「d」文字の後 (つまり、 と を区切るスペースの前) にカーソルを置いてWorld
文字Test
を入力すると、Helloの太字スタイルが自動的に失われます。
何故ですか?それは私を混乱させています。これは、「d」の直後にカーソルを置いWorld
て文字を入力した場合にのみ発生します。他のすべてのカーソル位置では、期待どおりに機能します。
それはなぜですか、それを修正する方法は? Helloは太字のままにしておきたいです。