Android,EditText - 如何 "delinkify"已经链接(使用 Linkify 类)文本

标签 android hyperlink android-edittext linkify

有没有办法删除 Linkify.addLinks(myEditText, Linkify.WEB_URLS); 完成的“链接化”?

它应该被 Linkify.addLinks(myEditText, 0); 禁用,但它根本不影响链接文本。即使使用 myEditText.setLinksClickable(false); 也完全没有效果(链接仍然可以点击)。

我想出的唯一解决方案有点老套:

myEditText.setText(myEditText.getText().toString());

最佳答案

It should be disabled by Linkify.addLinks(myEditText, 0);

鉴于方法名称以“add”开头,我对它完整保留现有内容并不感到惊讶。

Is there a way how to remove "linkification" that was done by Linkify.addLinks(myEditText, Linkify.WEB_URLS);?

您可以尝试从 Spannable 中查找并删除所有 URLSpan(或者可能是 ClickableSpan)对象:

Spannable stuff=myEditText.getText();
URLSpan[] spans=stuff.getSpans(0, stuff.length(), URLSpan.class);

for (URLSpan span : spans) {
  stuff.removeSpan(span);
}

// *maybe* need myEditText.setText(stuff), not sure

关于Android,EditText - 如何 "delinkify"已经链接(使用 Linkify 类)文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29168037/

相关文章:

google-apps-script - 如何使用 Google Script 在 Google Docs 中添加超链接

android - 如何避免在 Android EditText 中执行 onTextChanged

Android 上的 Java 字节码注入(inject)

android - 有没有办法使用适用于Android的youtube api找出youtube上的视频类型

javascript - 添加指向数组中图像的链接

android - 在 recyclerview 中保留 edittext 内容

android - 在 RecyclerView 中回收 View 后,EditText(或 android.support.v7.widget.AppCompatEditText)长按损坏

java - 使用共享首选项保存 boolean 值数组

android - 为什么某些用户在 Market 中看不到我的位置受限的 Android 应用程序?

php - 更改单个页面的链接颜色