首页 > 解决方案 > Android Webview - 如何导航到搜索文本的下一个出现

问题描述

在 WebView 中搜索文本很容易。导航到搜索文本的第一次出现如下所示:

 webView.findAllAsync(whatToFind);
    webView.setFindListener((i, i1, b) -> {
        if (b) {
            webView.findNext(true);
        }
    });

如何导航到搜索文本的下一个出现?

我试过这个,但这不会导航到下一个事件。

webView.findNext(true);

我以这种方式加载了 webview:

webView.loadDataWithBaseURL("", formatHtmlContent(content), "text/html", "UTF-8", "");

解决方案:感谢 Du.Fantasy:不要使用“setFindListener”——除非你真的需要它。请注意使用 findAllAsync 的时间。

标签: androidandroid-webview

解决方案


只需调用就足够了 webView.findNext(true);但是您需要确保webView.findAllAsync("string");在页面完全加载之前调用。例如调用它,onPageFinished甚至延迟几秒钟。我在 Pixel 3 上进行了测试,它运行良好。我录制了一个视频,但我不知道如何在这里发布。

eidt:请看下面的 gif:

https://ftp.bmp.ovh/imgs/2021/04/166643b9c504af01.gif


推荐阅读