问题标签 [spanned]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
120 浏览

android - 在edittext中的选定文本上应用两个跨度后,最后一个字符不跨度

这个问题很烦人,所以我将一点一点地追踪它,以便您完全理解它:-

首先,我选择编辑文本中的最后一个单词,如下所示:-

在此处输入图像描述

到目前为止如此简单,然后我通过单击按钮(设置粗体跨度)使文本变为粗体,如下所示:-

在此处输入图像描述

下划线只是软键盘中的默认文本更正。然后我重新选择文本:-

在此处输入图像描述

然后,当我以相同的方式使其斜体(通过按下按钮设置斜体跨度)时,我得到了:-

在此处输入图像描述

最后一个字符从粗体中分离出来。这只发生在这种特定情况下,当我选择单词并且单词位于编辑文本的末尾时。

我还发现,当为每个字符设置跨度时,如果整个单词没有发生(粗体和斜体),则会出现此问题:-

但是,如果没有发生整个单词的问题:-

但当然,用户可以为 char 设置跨度,因此问题仍然存在,否则如果在编辑文本末尾未选择该单词,则不会出现问题。

0 投票
1 回答
912 浏览

android - 如何使用 Intent 传递跨区数据类型的数据

我正在将一些数据从一项活动传递到另一项活动。所有的数据都通过了,但是有一个数据类型为 Spanned 的数据根本不起作用。当我在第一个活动中显示它时,它可以工作,但是当我在另一个活动中显示它时,它甚至没有出现。

我像这样从json中获取数据

从我的适配器我发送了这样的数据

在其他活动中,我收到了这样的数据

我需要一些人来找到错误。:) 帮帮我

0 投票
1 回答
344 浏览

android - 如果在 EditText 中的跨区文本之前添加了一些文本,如何自动更改跨区位置?

正在创建一个应用程序,其中 edittext 将样式范围添加到文本的某些位置

我的问题是,如果用户添加,将删除跨越文本样式之前的一些文本或空白,如何避免这种情况?

在我的情况下我需要使用哪种类型?

0 投票
1 回答
106 浏览

java - 我有一个带有一些格式的跨区文本。如何根据该格式将其转换为字符串?

我如何在正文中打印这个TextView

0 投票
0 回答
36 浏览

android - 使用 SpannableStringBuilder 上标

我正在制作一个数学工具,但我在它的图形表示上遇到了一些麻烦。

我正在尝试上标一些字符串,而我使用的方法是

它工作正常并输出 B*A^X=Y 之类的文本(带有上标 x),但是当我在字符串 textEXS 中添加多个字母时,一切都下降到一行并且上标丢失了。

0 投票
1 回答
917 浏览

android - android.widget.Editor:SpannableStringInternal 中的 NullPointerException

我在 SpannableStringInternal 的 NPE 的 Crashlytics 中收到错误报告,但无法在任何手机上重现该问题或确定其来源。我呼吁互联网帮助我找出根本问题。

从源代码看来,光标/选择以某种方式导致设置了空跨度。

该错误仅发生在 Android 7 上: Crashlytics 设备信息

0 投票
4 回答
2472 浏览

android - 为什么我的 spannable 没有显示?

背景

我正在尝试基于我找到的 UnderDotSpan 类(此处)使用简单SpannableString的 on a 。TextView

原始的 UnderDotSpan 只是在文本本身下方放置一个特定大小和颜色的点(不重叠)。我正在尝试的是首先正常使用它,然后使用自定义的可绘制对象而不是点。

问题

与正常的跨度使用相反,这个只是没有显示任何内容。连文字都没有。

以下是正常跨度的完成方式:

它会在 TextView 中显示一个绿色的“1”。

但是当我尝试下一个 spannable 时,它​​(整个 TextView 内容:文本和点)根本不显示:

奇怪的是,在我使用的一个项目中,它在 RecyclerView 中运行良好,而在另一个项目中却不行。

这是 UnderDotSpan 的代码:

请注意,TextView 没有任何特殊属性,但无论如何我都会显示它:

我试过的

我尝试从其他 span 类进行扩展,还尝试以其他方式将文本设置为 TextView。

我还尝试了基于 UnderDotSpan 类的其他跨度类。例子:

在调试时,我发现该draw函数甚至没有被调用,而getSize被调用(并返回 >0 值)。

问题

为什么跨度不能显示在 TextView 上?

我使用它的方式有什么问题?

我怎样才能修复它,并使用这个跨度?

它怎么可能在其他更复杂的情况下起作用?

0 投票
5 回答
1172 浏览

android - 在字符串资源android中使用标签放入画布drawtext()方法

0 投票
1 回答
1394 浏览

android - 如何在 Android 中将一种跨度类型更改为另一种?

我想在 a 中获取一种类型的所有跨度CharSequence并将它们转换为不同的类型。例如,将所有粗体跨度转换为下划线跨度:

在此处输入图像描述

我该怎么做?

(这是我今天遇到的一个问题,既然我现在已经解决了,我在这里添加一个问答对。我的答案如下。)

0 投票
1 回答
118 浏览

android - TextView 呈现丑陋的子弹
  • 标签
  • 我们有下一个输入字符串:


    然后我们创建 spanned via 并将其设置到 TextView 中:

    结果,我会得到像这里这样丑陋的子弹 在此处输入图像描述

    我发现用 unicode 字符替换“li”块的方法不是很好:

    结果将如预期:

    在此处输入图像描述

    也许有人找到更明确的解决方案?