我有一个编辑文本框(noteContent)。用户可以使用多种格式,以下是一些:
if (text.equals("Bold")) {
//Make Spannable Text Bold//
spannable.setSpan(new StyleSpan(Typeface.BOLD), startSelection, endSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
if (text.equals("Italic")) {
//Make Spannable Text Italic//
spannable.setSpan(new StyleSpan(Typeface.ITALIC), startSelection, endSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
if (text.equals("Underline")) {
//Make Spannable Text Italic//
spannable.setSpan(new UnderlineSpan(), startSelection, endSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
当我保存noteContent.getText.toString()到我的数据库,然后填充我的listview所有富文本都消失了。
如何将editText中的富文本保存到我的数据库中。因此,当我使用simpleCursorAdapter在listView中填充数据库时,富文本就在那里。
感谢。
答案 0 :(得分:1)
您需要将Spanned
getText()
EditText
转换为可以保存在数据库中的内容,例如HTML表示。然后,您可以将其转换回Spanned
,以便稍后在TextView
中显示。
一种选择是使用Android SDK中的Html.toHtml()
和Html.fromHtml()
。另一种选择是使用my CWAC-RichEdit library中的SpannedXhtmlGenerator
和SpannableStringGenerator
。或者,欢迎您提出自己的转换系统,将这些实现作为创意来源。