背景颜色范围未保存在 sqlite Android for API 小于 25 中



我想突出显示我的编辑文本的一部分,如下所示:-

mySpannablestring.setSpan((new 
BackgroundColorSpan(color)),0,mySpannablestring.length(),0);
//then set to editext
editext.setText(mySpannablestring);

我使用 HTML 将其作为字符串保存到数据库:-

String todatabase = Html.toHtml(editext.getText());
//then saved the String in sqlite.

基本上,代码保存用于基本的富文本操作,如粗体,斜体和下划线,但在突出显示操作中,它仅在API 25上保存,甚至在API 23中也不保存。预期的文本成功突出显示,但未保存。

当然不会保存。你试图拯救String白不是Spannable.如果你真的想保存SpannableString,你需要一些方法来序列化,然后反序列化你从textView.getText()接收的值。请注意,getText()返回CharSequence而不是字符串。这个CharSequense基本上可以是任何东西。

最新更新