0

テキストビューに「リンクhttp://www.google.comを開いて何かを検索する」というテキストがあります。クラスファイルに設定したテキスト。SO、このリンクをクリックすると。リンクはブラウザで開きます。このリンクを Web ビューで開きたい。これどうやってするの?私の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

これに使用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 を使用してリンクを希望どおりに動作させる必要があります。Web と @mentions の両方が同じAndroid Linkify クラスの例を確認してください。TextView

于 2013-09-13T09:46:48.723 に答える
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 に答える