Findall/FindAllAsync在android 4.1果冻豆上无法正常工作

Findall/FindAllAsync在android 4.1果冻豆上无法正常工作,android,webview,Android,Webview,我有一个小的安卓应用程序,它有一个网络视图。在Android2.2、2.3中,我可以使用findAll在这个webview上执行搜索,效果非常好,突出显示正在搜索的单词并滚动到匹配的位置 在安卓4.0.X中,搜索工作正常,滚动正常,但没有突出显示(使用findAll) 在安卓4.1中,使用findAll或findalsync并不重要,搜索根本不起作用。在我的测试中,它执行搜索,但不滚动到匹配的位置,而是返回页面顶部,这很可笑。它甚至强调了这场比赛,但如果不去webview上的位置,从可用性的角度

我有一个小的安卓应用程序,它有一个网络视图。在Android2.2、2.3中,我可以使用findAll在这个webview上执行搜索,效果非常好,突出显示正在搜索的单词并滚动到匹配的位置

在安卓4.0.X中,搜索工作正常,滚动正常,但没有突出显示(使用findAll)

在安卓4.1中,使用findAll或findalsync并不重要,搜索根本不起作用。在我的测试中,它执行搜索,但不滚动到匹配的位置,而是返回页面顶部,这很可笑。它甚至强调了这场比赛,但如果不去webview上的位置,从可用性的角度来看,它就毫无用处了

以下是源代码:

//////////////////////////////
// for android 2.2, 2.3, 4.0.x
//////////////////////////////
myContent.findAll(findBox.getText().toString());
try{
    //Can't use getMethod() in android 4.0.3 as it's a private method
    for(Method m : WebView.class.getDeclaredMethods()){
        if(m.getName().equals("setFindIsUp")){
            m.setAccessible(true);
            m.invoke(myContent, true);
            break;
        }
    }
}catch(Exception ignored){}
然后,在另一个具有目标api 16的方法上:

/////////////////////////////
// for android 4.1
/////////////////////////////
myContent.findAllAsync(findBox.getText().toString());
try{
    //Can't use getMethod() in android 4.0.3 as it's a private method
    for(Method m : WebView.class.getDeclaredMethods()){
        if(m.getName().equals("setFindIsUp")){
            m.setAccessible(true);
            m.invoke(myContent, true);
            break;
        }
    }
}catch(Exception ignored){}

关于如何在果冻豆上进行搜索有什么想法吗?非常感谢。

我使用类似的代码在网络视图中搜索,包括突出显示搜索结果,对我来说效果很好。我正在使用JB 4.1.1开发三星Note 10.1标签。也许更新可以解决你的问题。