java - 在另一个 Activity 中打开 TextView 链接 - 自定义 ClickableSpan

标签 java android android-layout android-fragments

我有一个带有链接其他文本的 TextView。我需要链接是可点击的,我需要捕获点击并在我的 Activity 中的 webview 中打开链接。我跟着这个this answer .我的代码如下所示:

activity_main.xml

 <TextView android:id="@+id/textlinktest"
              android:layout_width="wrap_content"
              android:layout_height="50dp"/>

这就是我调用它的方式:

textLinkTest.setText(Html.fromHtml("Something else <a href=\"http://www.google.com\">google</a>"));

textLinkTest.setText(RichTextUtils.replaceAll(
            (Spanned) textLinkTest.getText(),
            URLSpan.class,
            new URLSpanConverter()));

链接显示正常,但无法点击!我的 customeclickablespan 中的 onclick 永远不会被调用。 我尝试切换 android:linksClickable 并且还尝试了 android:autoLink 的不同值。但是链接仍然无法点击。有什么想法吗?

最佳答案

添加

textLinkTest.setMovementMethod(LinkMovementMethod.getInstance());

之前

textLinkTest.setText(RichTextUtils.replaceAll((Spanned) textLinkTest.getText(), URLSpan.class, new URLSpanConverter()));

关于java - 在另一个 Activity 中打开 TextView 链接 - 自定义 ClickableSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23853237/

相关文章:

java - 如何检查棋盘上的所有方格是否至少被踩过一次?

java - Spring MVC 4 AJAX上传带有额外参数的MultipartFile

android - 如何使用垫子?

android - float 操作按钮不响应单击

android - 为什么浏览应用程序屏幕上没有显示正确的应用程序名称?

java - 访问 ListView 项目字符串的最简单方法是什么?

javascript - Uncaught ReferenceError : bTitle is not defined

android - Cloud Endpoints 后端 API 开箱即用

Java从长文本中检测特殊模式

Android:自定义 View 'PointsView':错误 "The following classes could not be instantiated"