2

WebView内のリンクをクリックすると、AndroidはWebViewのURLを変更する代わりにブラウザを開きます。

これがWebViewがある私のフラグメントです(R.layout.webviewにはWebViewのみが含まれています):

package com.example.fragments;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;

public class EuDetailsFragment extends Fragment {
    private WebView viewer;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        viewer = (WebView) inflater.inflate(R.layout.webview, container, false);

        return viewer;
    }

    public void updateUrl(String newUrl) {
        Log.d("EuDetailsFragment", "Updating url...");
        WebView detailsView = (WebView) getView().findViewById(R.id.detailsView);
        detailsView.loadUrl(newUrl);
    }
}
4

2 に答える 2

8

デフォルトの動作では、リンクをクリックすると、ActivityManagerにリンクを処理するための適切なアプリを見つけるように求められます。次のように、この動作をオーバーライドできます(これにより、現在のWebViewが代わりに新しいURLをロードするように強制されます)。

    mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            return false;
        }
    });
于 2012-07-24T17:24:21.433 に答える
2

これはあなたが探しているものですか?:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(intent);
于 2012-07-24T15:22:50.203 に答える