0

我在 textview 中有“打开链接http://www.google.com以查找任何内容”的文本。我在我的类文件中设置的文本。所以,当我点击这个链接时。链接在浏览器中打开。我想在我的网页视图中打开这个链接。我怎样才能做到这一点?我的 xml 文件是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content">

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="TextView" />

<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="444dp" />

4

3 回答 3

0

做这样的事情,

在你的 oncreate 方法中,

 WebView mywebView = (WebView) findViewById(R.id.webview);
 mywebView.setWebViewClient(new MyWebViewClient());

然后创建一个类,例如,

class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if(url.contains("somePartOfYourUniqueUrl")){ 
        return super.shouldOverrideUrlLoading(view, url);
    } else {
        view.loadUrl(url); // load url in webview
        return true;
    }
}
于 2013-09-13T09:04:02.057 回答
0

用于java.net.URL此这里是您的帮助链接,使用它您可以url从给定的字符串中解析

如何检测字符串中是否存在 URL

于 2013-09-13T09:04:31.590 回答
0

您可以这样做,使用 WebView,您需要声明一个WebViewClient对象并覆盖该public boolean shouldOverrideUrlLoading (WebView view, String url)方法,在那里您可以过滤 url 或提供一些自定义功能。

在您的情况下,要留在 WebView 上,您需要在该方法上返回 false。

看看这个教程

处理TextView'surl 上的点击事件。正如在这个问题上所建议的那样,您可以过滤ACTION_VIEW包含 Activity 的 WebView 上的意图。如果您需要有关意图过滤器的更多指导,请查看此内容

对于 TextView 来说,需要做更多的工作,您必须制作自己的 Linkyfy 类副本并使用 TransformFilter 使链接按照您希望的方式运行。查看一个示例Android Linkify 类web 和 @mentions 都在同一个TextView

于 2013-09-13T09:46:48.723 回答