安卓SearchView小部件:如何将语音查询文本显示在搜索文本框中?

3
我不敢相信这个问题没有更多的讨论。我是不是错过了什么很明显的东西?
我使用带有语音启用的SearchView小部件来处理我的活动。这是一个singleTop实例,因此同一活动将能够捕获搜索意图。
当用户使用语音输入时,我想在实际搜索之前向用户显示查询文本以进行任何更正(如果需要)。
在我的onNewIntent()方法中,我处理搜索意图以检索语音的查询文本并更新搜索文本框。
然而,只要我设置了查询文本框,就会触发一个新的搜索意图,并被我的onNewIntent()接收。
这会导致一个无限循环。
我尝试设置SearchView的OnQueryTextListener,希望侦听器直接从文本框中捕获搜索文本。它确实做到了,但这没有停止触发新的搜索意图。
考虑放弃SearchView。由于我想要语音和建议功能,我希望有人能为我提供解决此问题的解决方案。

1
你能在这里发布你的代码片段吗? - Vinay
1个回答

2

已解决。问题在于将查询文本显示到文本框的调用,searchView.setQuery(query, false)需要两个参数,第二个参数指示在放置在框中后是否需要提交文本。我可能从示例中复制了代码,没有注意第二个参数。它应该是“false”,而不是“true”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接