Android SearchView行为,如果它必须在蜂巢之前支持操作系统

Android SearchView行为,如果它必须在蜂巢之前支持操作系统,android,android-3.0-honeycomb,android-2.3-gingerbread,searchview,Android,Android 3.0 Honeycomb,Android 2.3 Gingerbread,Searchview,我发现有一种方法可以支持带有较旧操作系统(姜饼和较旧操作系统)的设备,即使您使用的是专为蜂窝和更高版本操作系统设计的SearchView功能。我试着按照文档中显示的方式使用此方法: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.search: onSearchRequested(); re

我发现有一种方法可以支持带有较旧操作系统(姜饼和较旧操作系统)的设备,即使您使用的是专为蜂窝和更高版本操作系统设计的SearchView功能。我试着按照文档中显示的方式使用此方法:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.search:
            onSearchRequested();
            return true;
        default:
            return false;
    }
}
现在,当我第一次单击操作栏上的搜索按钮时

  • 操作栏变为白色
  • 我按下图标旁边的后退箭头,actionbar变为黑色,但搜索框仍然没有关闭
  • 我键入内容,按Enter键,然后显示搜索活动
  • 我再次单击搜索按钮,操作栏背景再次变为黑色

你能解释一下为什么会这样吗?我正在Galaxy S4上运行应用程序。谢谢你的回复。

你的galaxy s4运行姜饼?哈哈,不。我只是说我在jellybean OS上运行它,所以我不知道如果我在姜饼上运行它会发生什么行为。另外,我有方法
onCreateOptions菜单
,我只是想知道为什么会发生这种情况。