AndroidWebview-如何导航到搜索文本的下一个实例?
创始人
2024-10-12 02:32:30
0

要实现在Webview中搜索并导航到下一个实例,需要遵循以下步骤:

  1. 定义一个WebViewClient,以在搜索时处理页面加载
WebViewClient webViewClient = new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        // 在页面加载后执行搜索
        view.findAllAsync(searchedText);
    }
};
  1. 创建一个 CustomWebView 类,以扩展 WebView 并添加对搜索文本导航的支持
public class CustomWebView extends WebView {

    ...

    // 定义一个 OnFindListener 接口以通知搜索结果
    public interface OnFindListener {
        void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches, boolean isDoneCounting);
    }

    // 定义一个 WebView.FindListener 的实现以接收搜索结果 
    private class CustomFindListener implements FindListener {

        private OnFindListener listener;

        CustomFindListener(OnFindListener listener) {
            this.listener = listener;
        }

        @Override
        public void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches, boolean isDoneCounting) {
            listener.onFindResultReceived(activeMatchOrdinal, numberOfMatches, isDoneCounting);
        }
    }

    // 定义一个查找下一个搜索结果的方法
    public void findNext(boolean forward, final OnFindListener listener) {
        // 监听查找结果 
        WebView.FindListener findListener = new CustomFindListener(listener);
        // 导航到下一个搜索结果
        findNext(forward, new Runnable() {
            @Override
            public void run() {
                // 在导航完成后更新查找结果计数器 
                findNext(forward, this);
                // 若 listener 不为空则通知搜索结果 
                if (listener != null) {
                    listener.onFindResultReceived(getFindIndex(), getFindMatchesCount(), isFindDone());
                }
            }
        });
    }

    ...

}
  1. 在使用 Webview 的地方调用 findNext() 方法以导航到下一个搜索结果
CustomWebView webView = new CustomWebView(context);
webView.getSettings().setJavaScriptEnabled(true);
// 设置 Webview 客户端以处理加载并执行搜索
webView.setWebViewClient(webViewClient);
// 加载页面
webView.loadUrl(url);

// 导航到搜索结果的下一次结果
webView.findNext(true, new CustomWebView.OnFindListener() {
    @Override
    public void onFindResultReceived

相关内容

热门资讯

透视辅助"wepok... 透视辅助"wepoker有没有挂"详细辅助玩家教程(私人局有透视神器)关于wepoker有没有挂机制...
透视好友房"wepo... 透视好友房"wepoker辅助软件视频"详细辅助微扑克教程(软件透视);玩家必备必赢加哟《13670...
透视了解"hhpok... 透视了解"hhpoker免费辅助器"详细辅助技巧教程(作弊辅助方法);科技安装教程;13670430...
透视攻略"wepok... 此外,数据分析德州(wepoker免费脚本咨询)辅助神器app还具备辅助透视行为开挂功能,通过对客户...
透视辅助"wpk作弊... 透视辅助"wpk作弊"详细辅助新2025版(黑侠辅助器正版下载神器)是一款可以让一直输的玩家,快速成...
透视规律"wepok... 透视规律"wepoker买钻石有用吗"详细辅助德州论坛(免费透视脚本攻略);1分钟了解详细教程(微信...
透视脚本"wepok... 透视脚本"wepoker透视破解版"详细辅助玩家教你(辅助软件视频神器);实战中需综合运用上述技巧,...
透视真的"wepok... 透视真的"wepoker轻量版有透视吗"详细辅助AI教程(插件攻略)1、不需要AI权限,帮助你快速的...
透视攻略"wepok... 透视攻略"wepoker有脚本吗"详细辅助扑克教程(透视器免费技巧);玩家必备必赢加哟《136704...
透视私人局"wepo... 透视私人局"wepoker开辅助能查到吗"详细辅助AI教程(透视脚本网页辅助),支持语音通讯、好友开...