0
Ich möchte ein searchView
verwenden, um in webview
zu suchen, wenn ich darin suche, hat webview Änderung und heranzinig vergrößern, ich benutze webView, um epub Buch darin zu zeigen, zeigte ich mehr Detail in zwei Screenshots (nach, bevor) und meinem Code und füge hier
mein Android-Gerät o ist Android Kitkat verhindern, Webview zu vergrößern, wenn Searchview verwendet
ausführlicher in Code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_activity_reader, menu);
this.menu = menu;
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setSubmitButtonEnabled(true);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if (!query.isEmpty()) {
searchEnabled = true;
if (!flag) {
webView.findAllAsync(query);
flag = true;
try {
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(webView, true);
} catch (Throwable ignored) {
}
} else {
webView.findNext(true);
}
Log.i("webview", webView.getScrollY() + "");
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (newText.isEmpty()) {
try {
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(webView, false);
} catch (Throwable ignored) {
}
}
flag = false;
return true;
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
try {
Method m = WebView.class.getMethod("setFindIsUp", Boolean.TYPE);
m.invoke(webView, false);
} catch (Throwable ignored) {
}
return false;
}
});
return true;
}