【问题标题】:Retrieving rich text from RTEditText从 RTEditText 检索富文本
【发布时间】:2023-03-30 20:41:01
【问题描述】:

我已将 Android-RTEditor (https://github.com/1gravity/Android-RTEditor) 集成到我的项目中,就呈现我的富文本而言,它似乎工作得很好,但我在提取富文本后编辑时遇到了真正的困难。我需要将富文本转换回我的原生富文本格式(用于 x 平台目的),但我似乎只能得到纯文本。

我将文字设置如下:

_textView.setRichTextEditing(true, true);
_textView.setText(toSpannable(string()), TextView.BufferType.NORMAL);

然后,当编辑完成后,这样检索它:

RTText text = _textView.getRichText(RTFormat.SPANNED);
Log.d(kClassTag, "text: " + text);
Spanned str = (Spanned)text.getText();
Log.d(kClassTag, "str: " + str);

但是当我记录那个 str 时,它只是基本文本:

02-17 13:50:01.619 3077-3077/com.xxx D/CKTextEdAndCont: text: com.onegravity.rteditor.api.format.RTEditable@100df7b
02-17 13:50:01.620 3077-3077/com.xx D/CKTextEdAndCont: str: Your words here...

因此,虽然我一直在尝试不同的方法,但我希望有人可以分享经验(我正在查看转换器代码 - 特别是 ConverterSpannedToHtml.java)。

【问题讨论】:

  • 我没听懂你。您想要具有所有 html 格式的富文本。对吗?
  • 不,我想要自文本编辑后发生变化的所有跨度(粗体、对齐等)。
  • 所以进一步的日志记录显示我正在获得跨度,但它们是常规的 Android 跨度而不是 RT 特殊跨度 - 也许我可以让它与它一起工作......

标签: android richtext


【解决方案1】:

您应该使用RTFormat.HTML 而不是RTFormat.SPANNED

【讨论】:

    【解决方案2】:

    所以事实证明,在我转换为富文本时,我使用的是 Android 跨度而不是 RTEditor 跨度,所以我当然没有得到 RTEditor 跨度(尽管我假设 RTEditor 会将常规跨度上转换为它自己的跨度......)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多