在 android 应用中处理 textview 和 webview 链接

Posted

技术标签:

【中文标题】在 android 应用中处理 textview 和 webview 链接【英文标题】:Handle textview and webview links in android app 【发布时间】:2012-12-26 05:22:24 【问题描述】:

我正在开发一个 android 应用程序,它有很多带有链接的 textviews 和 webviews。我需要在 webview 中打开这些链接(而不是在外部 web 浏览器中)。我该怎么做?

我发现了几个类似的主题:

    WebView link click open default browser handle textview link click in my android app

第一个说我可以将 WebViewClient 用于 WebViews。第二个是关于意图过滤器和自定义方案。但问题是我想找到适用于 webview 和 textviews 的通用解决方案(我也不能使用自定义方案而不是 'http')。

我已尝试执行以下操作:

WebViewActivity 已创建,将用于代替 Web 浏览器。在我设置的 Android 清单文件中:

<activity android:name=".WebViewActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
</intent-filter>
</activity>

因此,当用户尝试打开链接时,应用会显示一个对话框,建议选择观看链接所需的应用(它建议使用 Web 浏览器和我的 WebViewActivity)。没有这个对话框如何在 WebViewActivity 中打开链接?

提前致谢。

【问题讨论】:

【参考方案1】:

如果您在 WebView 中点击链接,新页面默认仍会在当前的 webview 中。

对于处理 TextView 中的链接点击,您已经找到了这篇文章 handle textview link click in my android app,我认为您可以通过使用可点击跨度来遵循 Jonathan S. 解决方案。

如果你为你的activity注册了http schema,总会有这个对话框,除非没有其他应用注册它。

【讨论】:

以上是关于在 android 应用中处理 textview 和 webview 链接的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android 处理程序更新 UI 线程中的 TextView?

休息 API Android 应用程序

TextViews 不显示在 Android 中

[执行textView命令时应用程序崩溃

Android中TextView的TextAppearance属性

通过移动设备在 Android Studio 中单击 TextView 会导致应用程序崩溃 [关闭]