问题标签 [clickablespan]

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 投票
0 回答
80 浏览

android - RecyclerView - 在 onBindViewHolder 中设置 ClickableSpan 侦听器是否正确?

在 RecyclerView 的 onBindViewHolder 中设置 ClickableSpan 监听器是否正确?对于 viewHolder,我将在 viewHolder 内实现一个 View.OnClickListener

然而 ClickableSpan 是一个类。但我不确定每次在 onBindViewHolder 中重新创建一个新的可点击范围是否是正确的方法。

0 投票
1 回答
208 浏览

android - Android:ClickableSpan 与 EditText 中行尾的文本不匹配。我怎样才能解决这个问题?

我想为 EditText 中的每个字符设置 ClickableSpans,但它们的位置与每行末尾的字符不匹配。

每个字母都使用 BreakIterator 设置了 ClickableSpan。每个 Clickable 都会打开一个 AlertDialog,显示单击的字母。如果字母不在行尾,它工作正常。一个红叉表示点击位置:

在行中间单击“S”可以正常工作:

但是,单击一行末尾的字母会激活前一个字母的 ClickableSpan:

'Y' 被点击,但 'X' ClickableSpan 被激活:

单击下一行第一个字母之前的区域将激活上一行的最后一个字母:

单击“Z”之前的区域,并激活上一行的“X”:

如何让 ClickableSpan 正确定位在行尾?

Java代码:

编辑文本 xml:

我已经尝试了以下答案中的解决方案和建议,包括制作自定义 LinkMovementMethod 类,但没有任何效果:

EditText 中的 ClickableSpan 到文本调用 click() 到行尾

ClickableSpan 奇怪的行为:点击空白时调用 onClick()

谢谢!!

0 投票
0 回答
74 浏览

android - 切换暗模式会删除 TextView 可点击范围

我有一个使用 ClickableSpans 填充内部应用程序链接的 TextView。我正在使用 Kotlin,但我会在 Kotlin 或 Java 中回答。

当我在手机上切换暗模式时,我的所有链接都消失了!如果我重新加载视图,链接会重新生成并再次工作,但在此之前文本会恢复为纯文本。这发生在从亮模式切换到暗模式,反之亦然。

我正在寻找一种干净的方法来解决此问题,如果用户切换亮/暗模式,则无需重新加载我的活动。有什么自动的东西可以解决我的问题吗?如果可行的话,也许会以某种方式将跨度保存到 savedInstanceState 包中?或者是否有一个我不知道我需要覆盖的 OnNightModeEnabled 函数?

0 投票
0 回答
121 浏览

java - 我们可以在 for 循环中定义未知数量的具有不同输出的可点击文本吗?

我希望所有 ClickableSpan 都让 toasts 显示自己的文本。但是无论我在 for 循环中的 onClick 中的 Toast 中写什么,所有 ClickableSpan 都显示相同的 Toast 输出。简而言之,我只希望 ClickableSpan 在 for 循环中显示不同的 Toast。我该怎么做?我希望所有单词都可以点击。当点击所有单词时,它们会做不同的事情。谢谢您的帮助。

0 投票
3 回答
821 浏览

android - 如何使 MaterialAlertDialogBu​​ilder 中的 ClickableSpan 链接可点击?

我有一个SpannableStringBuilder带有这样ClickableSpan链接的对象,

当我将其设置为 aTextView并使用后,这工作正常textView.setMovementMethod(LinkMovementMethod.getInstance())

当我将ssb对象设置MaterialAlertDialogBuilder

它显示为可单击的链接,但实际上无法单击它 MaterialAlertDialogBu​​ilder 预览 我找不到setMovementMethod用于MaterialAlertDialogBuilder. 有什么办法让它可以点击吗?

0 投票
0 回答
33 浏览

android - 没有为多个单词设置可点击跨度

我不知道我在 SO 上的问题是否有确切的解决方案,但我已经被困在这很长时间了,需要解开自己的障碍。

我有一个字符串“0000 111 222”,我需要设置一个链接。我设置它的代码是这样的。

其中链接和文本都是“0000 111 222”。

现在

setClickableSpan(对象:ClickableSpan)

定义为

变量集跨度SpannableBuilder(text, link)构造函数设置,如下所示

它基本上是跨空格分隔符拼接链接变量。所以函数

setClickableSpan(对象:ClickableSpan)

对于“0000 111 222”,跨度的大小为 3。setSpan 是一个函数定义的 SpannableStringInternal 库。

现在的问题是链接仅设置为“0000”而不是整个字符串。而颜色和字体跨度可以为整个字符串设置。我找不到这种行为的原因。如果有人能指出这里出了什么问题以及可能的解决方法,我将不胜感激。

0 投票
0 回答
52 浏览

android - 当我拆分字符时,如何使用 spannable 或 ClickableSpan 来获取值?

当我拆分字符时,如何使用 spannable 或 ClickableSpan 来获取值?

这是一个代码

我将拆分所有“#”字符,例如 facebook 函数。

它会像这样分裂

但是如何知道我什么时候拆分 char 然后可以得到正确的 gata?

更新:

在 MyClickableSpan

当用户单击标签时,如何将数据发送到实时搜索。

这是我的实时代码

0 投票
0 回答
28 浏览

android - 如何覆盖 TextView 中的链接单击以添加操作

有带有 HTML 标签的文本。按照其他答案的说明,我使用 HtmlCompat 格式化文本并添加了 ClickableSpan 和 LinkMovementMethod。但是,当我点击链接时,我只是跟随它,并且我在 onClick() 中定义的附加操作不会执行。我应该怎么办?

因此,我在这个函数 onClick() 中编写的代码根本没有被调用。我在调试模式下检查了它。但是,链接被跟踪。

0 投票
0 回答
14 浏览

android - 字符串为 CJK + ASCII 标点时调用了错误的换行和错误的 ClickableSpan::onClick()

0 投票
0 回答
35 浏览

android - 在辅助功能模式 Android 中单击可单击跨度文本的操作

我有一个文本,其中有两个可点击的跨度文本和这些链接在正常模式下工作的点击操作。但在可访问性模式下,textview 获得焦点,可点击跨度文本上的点击操作不起作用。

下面给出了使用的文本,两个可点击的跨度文本是“隐私”和“条件”

使用的布局

在 Fragment 内部