В настоящее время у меня есть SearchView в панели действий моего приложения. Когда я нажимаю значок поиска, SearchView расширяется, и клавиатура появляется, как ожидалось. Нажатие "X" в окне SearchView закрывает SearchView, как ожидалось. Однако, когда SearchView активирован, и я нажимаю кнопку "назад", мое приложение завершается. Это правильное поведение, но теперь я пытаюсь сделать снимок нажатием кнопки и просто закрыть приложение SearchView (не мое приложение), когда будет видимым SearchView. Есть ли способ вызвать программу SearchView OnCloseListener() программно нажатием кнопки "Назад"? Например, что-то вроде этого:
// On a back button press, if we are currently searching,
// close the SearchView. Otherwise, invoke normal back button
// behavior.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (isSearchViewVisible) {
SearchView searchView = (SearchView) menu.findItem(R.id.searchBox)
.getActionView();
// This method does not exist
searchView.invokeClose();
return true;
}
}
return super.onKeyDown(keyCode, event);
}