currentSearchOperation = null;
}
setIndexAndSearchText((indexIndex + 1) % dictionary.indices.size(),
- searchView.getQuery().toString());
+ searchView.getQuery().toString(), false);
}
void onLanguageButtonLongClick(final Context context) {
getListView().postDelayed(new Runnable() {
@Override
public void run() {
- setIndexAndSearchText(actualIndexToUse, selectedText);
+ setIndexAndSearchText(actualIndexToUse, selectedText, true);
}
}, 100);
}
return super.onKeyDown(keyCode, event);
}
- private void setIndexAndSearchText(int newIndex, String newSearchText) {
+ private void setIndexAndSearchText(int newIndex, String newSearchText, boolean hideKeyboard) {
Log.d(LOG, "Changing index to: " + newIndex);
if (newIndex == -1) {
Log.e(LOG, "Invalid index.");
setDictionaryPrefs(this, dictFile, index.shortName, searchView.getQuery().toString());
updateLangButton();
}
- setSearchText(newSearchText, true);
+ setSearchText(newSearchText, true, hideKeyboard);
}
- private void setSearchText(final String text, final boolean triggerSearch) {
+ private void setSearchText(final String text, final boolean triggerSearch, boolean hideKeyboard) {
Log.d(LOG, "setSearchText, text=" + text + ", triggerSearch=" + triggerSearch);
// Disable the listener, because sometimes it doesn't work.
searchView.setOnQueryTextListener(null);
}
// We don't want to show virtual keyboard when we're changing searchView text programatically:
- hideKeyboard();
+ if (hideKeyboard) {
+ hideKeyboard();
+ }
+ }
+
+ private void setSearchText(final String text, final boolean triggerSearch) {
+ setSearchText(text, triggerSearch, true);
}
// private long cursorDelayMillis = 100;