1

我正在按照本指南向我的活动添加操作栏 SearchView 小部件:http: //developer.android.com/training/search/setup.html

除了在这个页面上,我已经让它工作了:http: //developer.android.com/training/search/backward-compat.html 它说“当用户选择搜索菜单时,只有 3.0 以上的版本才会调用 onOptionsItemSelected() item”,以便在为旧设备按下此搜索按钮时,我可以在 onOptionsItemSelected 中调用 onSearchRequested()。但是当我在 Jellybean 上测试它时,我按下搜索按钮,它会展开搜索视图,但也会打开一个搜索对话框,所以我有两个相互重叠的搜索小部件。

在 3.0+ 设备上按下搜索按钮时,似乎仍在调用 onOptionsItemSelected(),但指南另有说明。我执行错了吗?我尝试制作一个新项目并完全按照指南进行操作,并且它具有相同的行为。

4

1 回答 1

1

这是我的一个误解。我以为文档是说硬件搜索按钮不会触发 onOptionsItemSelected,而是会展开 searchView。但它实际上只是说搜索菜单选项不会触发 onOptionsItemSelected

为了解决这个问题,我覆盖了 onSearchRequested 并在那里扩展了 searchView

于 2012-12-03T08:53:28.057 回答