【问题标题】:Android Autolink to launch WebViewAndroid Autolink 启动 WebView
【发布时间】:2011-02-24 23:22:57
【问题描述】:

我在 TextView 中使用 autoLink="web" 属性来启动浏览器。 但是,当我单击 TextView 中的链接时,我想用 WebView 启动 myActivity。 是否有可能捕获点击事件并调用startActivity?

提前致谢, 杰森

【问题讨论】:

    标签: android url browser webview textview


    【解决方案1】:

    是的,这很容易做到:)

    • 创建一个包含 WebView 和适当设置的活动。
    • 在 TextView 中,允许链接改为触发意图。
    • 使该意图成为打开带有 WebView 的 Activity 的意图
    • 在该意图对象中,执行 myIntent.putExtra() 并将 URL 添加为额外的
    • 在包含 WebView 的活动中,使用 savedInstanceState.getExtras() 检索 URL 并将其加载到 WebView 中

    您可以在此处获取有关意图以及如何使用它们的更多信息:

    http://developer.android.com/guide/topics/intents/intents-filters.html

    您还可以have a look here for the Notepad Tutorial 应用程序,其中包含一些非常基本的意图工作示例。

    【讨论】:

    • 谢谢你的回答,T3Roar。但我无法理解您的第二条指令“允许链接触发意图”。你的意思是我不需要为 textview 做点什么吗?我怎样才能为 textview 中的链接制定自己的意图以启动特定活动?
    • 看看这篇文章。他的示例在按下链接时称为“ShowDialog”,但您可以在那里为您的程序启动一个意图。 blog.elsdoerfer.name/2009/10/29/…
    【解决方案2】:

    您询问的是在 TextViews 中设置 autolink 以自动处理 TextViews 中的 URL。但是,默认行为是在外部浏览器中打开网页,那么我们如何让它启动一个活动(例如)?

    在底层,自动链接是由 LinkMovementMethod 为 TextView 处理的,并且很难自定义行为。现在有BetterLinkMovementMethod,在this blog post 中有更详细的描述。只需几行代码更改,TextView autolinks 就可以启动一个活动或可以根据需要自定义的各种其他行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多