Android 2.2 проблема поиска в интернете - PullRequest
9 голосов
/ 13 сентября 2010

У меня есть веб-просмотр в моей деятельности. Теперь, когда я использую метод WebView.findAll() для поиска текста в веб-просмотре, он не выделяет подходящие слова.

Отлично работает в Android 1.6, но не работает в 2.2.

Ответы [ 2 ]

15 голосов
/ 01 февраля 2011

В системе отслеживания проблем 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){}
8 голосов
/ 28 мая 2012

В 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){}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...