【发布时间】:2012-04-30 09:33:30
【问题描述】:
首先是一些背景。
在我的编辑项目活动中,我添加了搜索功能来更改项目的数据字段之一。 (其制造商和制造商)。由于用户可以从相当多的项目中进行选择,我们决定使用带有建议的搜索来更改制造商/型号。
使用普通的 Android 搜索,我可以从编辑活动中覆盖 onSearchRequested() 方法并将当前项目的 ID 添加为额外数据的一部分。数据项的实际更新是在搜索活动中完成的。 (我知道,这不是最好的主意,但我的编辑活动不知道用户在搜索活动中做了什么。)
这适用于简单的搜索,但我似乎无法找到一个地方为 Search Suggestions 注入此上下文数据(项目的 id)。
我已经阅读了android docs,我遇到的最接近的是SUGGEST_COLUMN_INTENT_EXTRA_DATA 列,用于我的建议中的结果行,但由于我的搜索内容提供商也没有任何关于我正在编辑的项目的上下文,它似乎不能解决我的问题。 Intent 仍然是根据 Android 系统的建议启动的,我似乎无法将所需的上下文信息添加到其中。
考虑到搜索建议似乎面向无上下文的全局搜索(即 Android 的快速搜索),这是否可能?
为了完整起见:我们的目标平台低于 Android 3.0,因此SearchView 的功能不可用。
【问题讨论】:
标签: android android-searchmanager search-suggestion