Как получить ссылку со страницы в WebView?

216
19 января 2019, 12:30

Есть страница contentFinal, которая загружается в 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 ссылки при клике на нее пользователем? И как отследить именно клик на ссылке? Т.е. мне необходимо отследить клик пользователя на ссылку и заключить ее в, например, String userUrl. Далее, я уже переназначу действие.

Answer 1

Помогли на англоязычном ресурсе.

WebView wv = new WebView();
 wv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                String url = request.getUrl().toString();
                return false;
            }
        });
READ ALSO
не работает компановщик (setLayout)

не работает компановщик (setLayout)

Застрял на одном месте, скорее всего не вижу очевидного

235
Как подружить Payara (GlassFish) с MySQL

Как подружить Payara (GlassFish) с MySQL

Всем приветПытаюсь сделать свой небольшой pet-проект на Spring Boot с Payara в качестве Web сервера

284
Android. Внутренняя память. Данные появляются снова после переустановки

Android. Внутренняя память. Данные появляются снова после переустановки

У меня есть небольшая структура (из 6 текстовых полей примерно + дата), есть база которая содержит эти структурыБаза сохраняется и загружается...

176
Подсветка цифр в массиве

Подсветка цифр в массиве

У меня имеется массив чисел от 0 до 100 с повторениямиДлина массива N>100, например

202