web-dev-qa-db-ja.com

android webviewはアプリにとどまります

Androidアプリにウェブビューがありますが、誰かがサイト内を移動すると、新しいウィンドウで開きます。ウェブビュー内にとどまりたいです。これを行う方法はありますか?簡単に?これが私のアクティビティのコードです:

super.onCreate(savedInstanceState);
    setContentView(R.layout.shop);
    WebView webview;
    webview = (WebView) findViewById(R.id.webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.google.co.uk");
20
Carla Dessi

WebViewClientを作成する必要があります:

public class myWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

次に、次のようにWebViewに設定します。

webview.setWebViewClient(new myWebViewClient());
41
Ahmad

または、新しいクラスを作成せずに、それを行うことができます。

myWebView.setWebViewClient(new WebViewClient());

わたしにはできる。

27
quent
_webview.setWebViewClient(new WebViewClient());
_

カスタマイズしたい場合は、shouldOverrideUrlLoading (WebView view, String url)をオーバーライドする必要があります。ただし、API24では非推奨です。public boolean shouldOverrideUrlLoading (WebView view,WebResourceRequest request)を使用できます。実際には、両方ともfalseを返す必要があります。

Android WebViewの例

1
Athira Reddy