【问题标题】:Android searchView triggering onOptionsItemSelectedAndroid searchView 触发 onOptionsItemSelected
【发布时间】:2012-12-03 16:53:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: android


    【解决方案1】:

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

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

    【讨论】:

    • 其实我的解释和你一模一样,甚至提交了一个文档错误。我连续读了 10 遍,总是得出不应触发 onOptionsItemSelected 的结论。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多