后退按钮没有折叠SearchView

时间:2016-01-07 04:07:35

标签: android searchview

我的appCompat工具栏中有一个android.support.v7.widget.SearchView。

我点击搜索按钮展开MenuItem的ActionView,一切正常,直到我点击设备的硬件后退按钮。这会隐藏键盘,SearchView的EditText会失去焦点并且光标会消失,但该项目不会折叠回“搜索”图标。相反,搜索图标右侧的菜单项变为焦点/突出显示,这是......不对。再按一次就不行了。

我尝试过以各种方式检测后退键,例如将OnKeyListener添加到SearchView或其EditText,但它不会触发。按操作栏中的向上按钮可以完全满足我的需要,所以我只需要检测后退按钮。

我的设置唯一奇怪的是SearchView本身不在布局中 - 如果我添加它,它会成功构建,但在运行时崩溃。出于某种原因。

我有一个展开/折叠的监听器,只有在单击向上按钮时才会检测到折叠,按下后退按钮时不会触发折叠。

由于

以下是设置SearchView的代码:

MenuItemCompat.setShowAsAction(menuItem, MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
final SearchView searchView = new MyobSearchView(activity);
MenuItemCompat.setActionView(menuItem, searchView);
MenuItemCompat.setOnActionExpandListener(menuItem, new FocusSearchFieldActionExpandListener(searchView, androidUtils));

1 个答案:

答案 0 :(得分:1)

您可以通过覆盖onBackPressed()方法来完成此操作:

@Override
public void onBackPressed() {
        // do what you want
}