如何在用户单击时从 WebView 内的链接提供 url
How to give url from links inside WebView when user click it
我有一个 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);
页面包含 links。 当用户单击并将 url 放入字符串时,如何给出 url of link?
您应该做的是为 WebView 提供您自己的 WebViewClient。
子类 WebViewClient 并使用 WebView 方法 setWebViewClient 来设置它。
然后在 WebViewClient 中覆盖 "shouldOverrideUrlLoading" 方法并使用 link.
做任何你喜欢的事情
WebView wv = new WebView();
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
return false;
}
});
我有一个 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);
页面包含 links。 当用户单击并将 url 放入字符串时,如何给出 url of link?
您应该做的是为 WebView 提供您自己的 WebViewClient。 子类 WebViewClient 并使用 WebView 方法 setWebViewClient 来设置它。 然后在 WebViewClient 中覆盖 "shouldOverrideUrlLoading" 方法并使用 link.
做任何你喜欢的事情WebView wv = new WebView();
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
String url = request.getUrl().toString();
return false;
}
});