Java Android-是否有任何功能或方法来搜索HTML Webview文本中的特定文本

Java Android-是否有任何功能或方法来搜索HTML Webview文本中的特定文本,java,android,webview,textview,Java,Android,Webview,Textview,大家好,安卓程序员,有没有办法在HTML网络视图中搜索特定单词?或者说,当您将一个单词放入搜索框并进行搜索时,它会自动滚动到该单词或突出显示该单词,但文本不在文本视图中,文本是使用WebView格式化的?当然,当你在数据库中存储一个段落并且可以很容易地进行搜索时,这是可能的,但问题是它的格式不像HTML,所以这是可能的吗? 您可以通过在webview中阅读页面的源代码来实现 里面 在webviewclient的onPageFinished()中添加此方法: OP询问是否有方法在WebView中搜

大家好,安卓程序员,有没有办法在HTML网络视图中搜索特定单词?或者说,当您将一个单词放入搜索框并进行搜索时,它会自动滚动到该单词或突出显示该单词,但文本不在文本视图中,文本是使用WebView格式化的?当然,当你在数据库中存储一个段落并且可以很容易地进行搜索时,这是可能的,但问题是它的格式不像HTML,所以这是可能的吗?

您可以通过在webview中阅读页面的
源代码来实现

里面

在webviewclient的onPageFinished()中添加此方法:


OP询问是否有方法在WebView中搜索文本,以使搜索的词突出显示,不是如何发出HTTP请求并将结果转换为字符串。正如我前面提到的,如果我们以字符串形式从html获取数据,我们只需检查该字符串是否包含特定的单词,但OP询问如何搜索单词并在WebView中自动滚动到该单词或突出显示它**
。只需检查HTML字符串是否包含特定单词,将不会在WebView中高亮显示该单词。感谢您努力回答我的问题。我要试试这个方法。非常感谢大家。上帝保佑
For Highlighting search word:

    titleWebView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageFinished(WebView view, String url) {
            if (searchText != null && !searchText.equals("")) {
                int i = titleWebView.findAll(searchText);
                Toast.makeText(getApplicationContext(), "Found " + i + " results !",
                    Toast.LENGTH_SHORT).show();
                try {
                    Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
                    m.invoke(titleWebView, true);
                } catch (Throwable ignored) {
                }
                searchText = "";
            }
        }
    });
webView.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+" +
                                        "document.getElementsByTagName('html')[0].innerHTML+'</html>');");
    @SuppressWarnings("unused")
        @JavascriptInterface
        public String processHTML(final String html)
        {
//            Log.i("processed html",html);
            Thread OauthFetcher=new Thread(new Runnable() {

                @Override
                public void run() {

                    htmlString= Html.fromHtml(html).toString();
//                    Log.i("htmlString",htmlString);
                    Gson gson = new Gson();
                    CustomPojoObject obj = gson.fromJson(htmlString, CustomPojoObject.class);

                }
            });OauthFetcher.start();
            return htmlString;
        }