android - 将富编辑文本保存到数据库

标签 android database richtext

我有一个编辑文本框 (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 中填充数据库时,富文本就在那里。

谢谢。

最佳答案

您需要将 EditText 上的 getText() 返回的 Spanned 转换为可以保存在数据库中的内容,例如HTML 表示。然后,您可以将其转换回 Spanned,稍后在 TextView 中显示。

一种选择是使用 Android SDK 中的 Html.toHtml()Html.fromHtml()。另一种选择是使用来自 my CWAC-RichEdit librarySpannedXhtmlGeneratorSpannableStringGenerator .或者,欢迎您提出自己的转换系统,使用这些实现作为想法的来源。

关于android - 将富编辑文本保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33576433/

相关文章:

Android/Eclipse 模拟器如何删除数据?

iPhone SQLite数据库读写

sql - 子查询有子句错误,我错过了什么?

mysql - 数据库结构 - 具有 category_id 的单个设计表(多行)或多个设计类别表(几行)

c# - RichTextBox 控件仅使用第一种格式

android - 在我自己的项目中使用 ActionBarSherlock 作为库

android - 无法使用安卓 :xlargeScreens ="true"?

android - 从 Android 中的字符串资源填充 listView

c# - 当 DataGrid 失去焦点到超链接时出现 InvalidOperationException