アプリで奇妙な問題が発生しています。ユーザー入力テキストを取得する編集テキストがあります。また、ユーザーが入力した文字列に書式設定 (太字/斜体など) を追加できるようにしています。次に、その文字列を json 文字列に格納します。アプリのフローをさらに進めて、同じ json 文字列を edittext に表示します。次に、表示された edittext の文字列を、元々 json 文字列に格納されていたものと比較します。2つの文字列の違いは次のとおりです
文字列 1:<p dir="ltr"><i><b>Test</b></i></p>
文字列 2: <p dir="ltr"><b><i>Test</i></b></p>
上記のように、タグのシーケンスが異なるため、文字列はわずかに異なります。それらは実際には同じフォーマットの同じ文字列ですが。したがって、これら 2 つの文字列の比較は失敗し、アプリで問題が発生します。
私が使用するメソッドは、文字列 1 の場合です。
testJson.put("my text", Html.toHtml(trimSpannable(new SpannableStringBuilder(myEditText.getText())));
次に、以下のコードを使用して、その json を edittext に表示します
myOtherEditText.setText(trimSpannable((SpannableStringBuilder)(Html.fromHtml(testJson.getString("my text"))));
文字列 2 の場合:
String2 = Html.toHtml(new SpannableString(myEditText.getText()));
誰かがここで助けてくれる提案。ありがとう。