と呼ばれるEditTextがありcontent
ます。その中にはフォーマットされたテキストがあります。次に、次のようにして、フォーマットされたテキストとhtmlの表示を切り替えたいと思います。
if(!showHtml)
content.setText(Html.fromHtml(content.getText().toString()), BufferType.SPANNABLE);
else
content.setText(Html.toHtml(content.getText()));
フォーマットされたテキストが「testtest」の場合、htmlは問題なく出力され<p>test <b>test </b></p>
ますが、戻るとフォーマットが失われ、「testtest」が表示されます。
フォーマットされたテキストが「testtest」の場合、htmlはとして出力され<p><b>test</b> test</p>
ます。これはもう一度正しいです。ただし、戻ったときに得られるテキストは「テストテスト」です。
つまり、最初の単語の書式設定が残りのテキストに適用されているように見えます(長い文字列でテストしました)。
誰かが以前にこれに遭遇したことがありますか、そしてどうすればこれを解決することができますか?
編集1EditText.setText()を使用すると、自動的にEditableフラグが使用され、Spannableに対する私の要求が完全に無視されるようです。これが問題の原因でしょうか?