Android 2.2 webview搜索问题

Bri*_*ani 9 android android-webview

我的活动中有一个webview.现在,当我使用WebView.findAll()方法在webview中搜索文本时,它不会突出显示匹配的单词.

它在Android 1.6中运行良好,但在2.2中不起作用.

Ily*_*kin 15

Android问题跟踪器中存在以下问题:http://code.google.com/p/android/issues/detail?id = 9018

我把这个代码放在后面WebView.findAll(),它突出显示了工作:

try
{
    Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
    m.invoke(webView, true);
}
catch (Throwable ignored){}
Run Code Online (Sandbox Code Playgroud)


小智 8

在android 4.0.3中,似乎setFindIsUp是一个私有方法.所以上面的代码不起作用.由于getMethod()方法不会返回私有方法.以下是调用适用于4.0.3的私有方法的解决方法:

try{
    //Can't use getMethod() as it's a private method
    for(Method m : WebView.class.getDeclaredMethods()){
        if(m.getName().equals("setFindIsUp")){
            m.setAccessible(true);
            m.invoke(view, true);
            break;
        }
    }
}catch(Exception ignored){}  
Run Code Online (Sandbox Code Playgroud)