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