目前,我有我的應用程序的操作欄搜索查看。當我點擊搜索圖標時,SearchView會展開並按預期彈出鍵盤。單擊SearchView框中的「X」按預期關閉SearchView。但是,當SearchView被激活時,我按下「後退」按鈕,我的應用程序退出。這是正確的行爲,但我試圖現在要做的就是捕捉到後退按鈕按下,只是把它關閉搜索查看(不是我的應用程序),當搜索查看可見。有沒有辦法在後退按鈕上按程序調用SearchView OnCloseListener()?例如,像這樣:如何以編程方式關閉SearchView?
// 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);
}
https://stackoverflow.com/a/46930606/1308990 – oiyio