你好,我的应用程序中有一个错误,我无法弄明白。
我想在WebView中搜索文本并突出显示找到的文本
for Android 1.5-2.3这个效果很好
public void onClick(View v){
webView1.findNext(true);
int i = webView1.findAll(findBox.getText().toString());
try{
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(webView1, true);
}catch(Exception ignored){}
}
}
对于Android 3.0+我必须使用here中的JavaScript解决方法,因为Google不支持以难以理解的原因突出显示搜索文本
现在我的错误:在我的WebView上搜索后,我得到突出显示的文本,我不能再选择文本了。我可以使用的唯一修复方法是旧版Android中的JavaScript解决方法。但是该函数运行速度非常慢,大约需要10秒才能突出显示文本。我希望有人有更好的解决方案/解决办法:)
谢谢
m4tz3m4tz3
答案 0 :(得分:1)
我使用相同的3.x然后它在4.0.x上不起作用。 昨天我更新到4.0.4,现在再次突出显示作品。
所以解决方案可以在4.0.4源代码中找到。
答案 1 :(得分:0)
好的,我找到了一个很好的解决方案。
以下是突出显示的JavaScript代码,运行速度非常快:) http://4umi.com/web/javascript/hilite.php#thescript
无论如何我不明白,为什么我不能在官方Webview搜索之后选择文本
答案 2 :(得分:0)
对于Android 3.x,我使用了webview.showFindDialog(stringtofind,true);
答案 3 :(得分:0)
使用findAllAsync()代替,API 16中不推荐使用finAll();