我在我的应用程序中遇到了一个奇怪的问题。我有一个edittext,我在其中获取一些用户输入文本。我还允许用户向输入的字符串添加格式(粗体/斜体等)。然后我将该字符串存储到一个 json 字符串中。在我的应用程序的流程中,我将相同的 json 字符串显示回edittext。然后,我将 edittext 中显示的字符串与最初存储在 json 字符串中的字符串进行比较。这是两个字符串的不同之处
字符串 1:<p dir="ltr"><i><b>Test</b></i></p>
字符串 2: <p dir="ltr"><b><i>Test</i></b></p>
正如您在上面看到的,由于标签的顺序不同,字符串略有不同。即使它们实际上是具有相同格式的相同字符串。因此,这两个字符串的任何比较都会失败,从而导致我的应用出现问题。
我使用的方法是字符串 1:
testJson.put("我的文本", Html.toHtml(trimSpannable(new SpannableStringBuilder(myEditText.getText()));
然后我使用下面的代码将该json显示回edittext
myOtherEditText.setText(trimSpannable((SpannableStringBuilder)(Html.fromHtml(testJson.getString("我的文本"))));
对于字符串 2:
String2 = Html.toHtml(new SpannableString(myEditText.getText()));
任何人都可以在这里提供帮助的任何建议。谢谢。