Android Webview - 如何导航到搜索文本的下一次出现

Android Webview - how to navigate to the NEXT occurence of the searched text

在 WebView 中搜索文本很容易。导航到搜索到的文本的第一次出现是这样的:

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

如何导航到搜索到的文本的 NEXT 处?

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

webView.findNext(true);

我是这样加载webview的:

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

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

只调用 webView.findNext(true);就够了,但是你需要确保在页面完全加载之前调用webView.findAllAsync("string");。例如在 onPageFinished 中调用它,甚至延迟几秒钟。我在 Pixel 3 上测试过,它工作正常。我已经录制了视频,但我不知道如何在此处 post。

eidt:请看下面的 gif:

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