Android: невозможно сделать выбор после поиска в WebView с выделением - PullRequest
2 голосов
/ 02 апреля 2012

Здравствуйте! У меня ошибка в приложении, и я не могу ее устранить.

Я хочу найти текст в моем WebView и получить найденный текст выделенным

для 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+ Я должен использовать обходной путь JavaScript из здесь , потому что Google не поддерживает выделение искомого текста по непонятным причинам

А теперь моя ошибка: после поиска в моем WebView я получаю выделенный текст и больше не могу выбрать текст.Единственное исправление, которое я мог использовать, - это обход JavaScript в старых версиях Android.Но функция работает очень медленно и занимает около 10 секунд, пока текст не будет выделен.Надеюсь, у кого-то есть лучшее решение / исправление:)

Спасибо

m4tz3m4tz3

Ответы [ 4 ]

1 голос
/ 06 июня 2012

Я использую то же самое для 3.x, тогда это не работало на 4.0.x. Вчера я обновился до 4.0.4 и теперь подсветка снова работает.

Таким образом, решение можно найти в источниках 4.0.4.

0 голосов
/ 31 декабря 2015

используйте взамен findAllAsync (), finAll () устарела в API 16;

0 голосов
/ 02 мая 2012

Для Android 3.x я использовал webview.showFindDialog (stringtofind, true);

0 голосов
/ 03 апреля 2012

ОК. Я нашел довольно хорошее решение.

Вот код JavaScript для выделения, который работает очень быстро :) http://4umi.com/web/javascript/hilite.php#thescript

Во всяком случае, я не понимаю, почему я не могу выбрать текст после официального поиска в Webview

...