現在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);
}