Android:在使用高亮显示WebView搜索后无法进行选择

时间:2012-04-02 16:19:30

标签: android webview selection clipboard highlight

你好,我的应用程序中有一个错误,我无法弄明白。

我想在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

4 个答案:

答案 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();