当用户单击WebView时,如何从WebView内的链接中提供URL



我有一个WebView。它包含页面,由Jsoup过滤。

WebView cntContent;
WebView cntComments;
WebSettings webSettingsContent;
WebSettings webSettingsComments;
cntContent = findViewById(R.id.cntContent);
cntComments = findViewById(R.id.cntComments);
webSettingsContent = cntContent.getSettings();
webSettingsComments = cntComments.getSettings();
webSettingsContent.setDefaultFontSize(16);
webSettingsComments.setDefaultFontSize(16);
cntContent.setBackgroundColor(Color.TRANSPARENT);
cntComments.setBackgroundColor(Color.TRANSPARENT);
webSettingsContent.setAppCacheEnabled(true);
webSettingsComments.setAppCacheEnabled(true);
cntContent.loadDataWithBaseURL(contentUrl, contentFinal, "text/html", "utf-8", null);
cntComments.loadDataWithBaseURL(contentUrl, commentsFinal, "text/html", "utf-8", null);
cntContent.setClickable(true);

页面包含链接。当用户单击链接并将 url 放入字符串时,我如何提供链接的 url?

你应该做的是为 Web 视图提供你自己的 WebViewClient。 对 WebViewClient 进行子类化,并使用 WebView 方法 setWebViewClient 对其进行设置。 然后在WebViewClient中覆盖"shouldOverrideUrlLoad"方法,并对链接执行任何您喜欢的操作。

WebView wv = new WebView();
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
return false;
}
});

最新更新