要阻止Android WebView中的鏈接在新窗口中打開(kāi),可以使用WebViewClient類的shouldOverrideUrlLoading方法來(lái)攔截鏈接點(diǎn)擊事件,并在當(dāng)前WebView中加載鏈接。
首先,創(chuàng)建一個(gè)自定義的WebViewClient類,如下所示:
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
然后,在你的Activity或Fragment中,將該WebViewClient設(shè)置給WebView實(shí)例,如下所示:
WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new MyWebViewClient());
這樣,當(dāng)用戶點(diǎn)擊鏈接時(shí),WebView將會(huì)攔截事件,并在當(dāng)前WebView中加載鏈接,而不是在新窗口中打開(kāi)。