【问题标题】:Providing Spanned variable to ellipsized TextView results in ellipsize for single line too, how to prevent this?为椭圆形 TextView 提供 Spanned 变量也会导致单行的椭圆形,如何防止这种情况?
【发布时间】:2018-08-10 15:45:35
【问题描述】:

我有一个回收器视图列表,每个列表项都有一个从网络响应填充的文本视图,响应可以是普通文本,也可以是最常见的 html,下面是代码。

Spanned htmlAsSpanned = Html.fromHtml(item.getDescription().trim());
holder.content.setText(htmlAsSpanned);

请注意,对于此文本视图“内容”,我已将 ellipsize 设置为 true,将 maxlines 设置为 1。下面是文本视图中可能的输入文本

<p>some text </p>

当有多行文本省略时,这是预期的。 但是,当输入有单行时,也会应用 ellipsize!,所以上面的行会像

some text ... 

如何防止单行 html 输入被省略?

注意:仅当我转换为跨区并传递 html 文本时才会发生这种情况。如果不转换内容,它只会在超过一行时变成椭圆形,这很好。

【问题讨论】:

  • 那你为什么要转换成spanned呢?
  • Html.fromHTML 方法给了我跨越变量作为返回值(我需要使用这个方法来转换我可能收到的 html 内容)

标签: android textview


【解决方案1】:

以下是对我有用的解决方案...

  Spanned htmlDescription = Html.fromHtml(item.getDescription());
  String descriptionWithOutExtraSpace = new String(htmlDescription.toString()).trim();
  holder.content.setText(htmlDescription.subSequence(0, descriptionWithOutExtraSpace.length()));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    相关资源
    最近更新 更多