私の活動にはウェブビューがあります。これで、メソッドを使用WebView.findAll()
してWebビューでテキストを検索すると、一致する単語が強調表示されません。
Android 1.6では正常に動作しますが、2.2では動作しません。
私の活動にはウェブビューがあります。これで、メソッドを使用WebView.findAll()
してWebビューでテキストを検索すると、一致する単語が強調表示されません。
Android 1.6では正常に動作しますが、2.2では動作しません。
これに関する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){}
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){}