Android 在当前片段中读取搜索查询而不启动活动

Android 在当前片段中读取搜索查询而不启动活动,android,searchview,Android,Searchview,我正在构建一个应用程序,其中包含一个符号活动,其中包含一个操作栏。该活动包含一个包含4个选项卡的选项卡主机,根据显示的选项卡和片段,每个选项卡都可以搜索其他内容 根据开发者指南(),当用户输入查询后按下搜索按钮时,活动将以搜索意图启动,我可以在其中阅读如下查询: if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUE

我正在构建一个应用程序,其中包含一个符号
活动
,其中包含一个
操作栏
。该活动包含一个包含4个选项卡的选项卡主机,根据显示的选项卡和片段,每个选项卡都可以搜索其他内容

根据开发者指南(),当用户输入查询后按下搜索按钮时,活动将以搜索意图启动,我可以在其中阅读如下查询:

if (Intent.ACTION_SEARCH.equals(intent.getAction())) 
{
        String query = intent.getStringExtra(SearchManager.QUERY);
        //use the query to search your data somehow
}
但是,我不想重新启动活动,然后决定哪个片段引发了查询,将选项卡设置为正确的选项卡,构建一个新片段等等。。。我想做的只是在用户输入的片段中读取查询本身(我注意到
SearchView
类得到了一个
getQuery
方法)


我如何实现一个侦听器,在用户写完查询并按下虚拟键盘中的搜索按钮后读取查询,而不重新创建活动?我只想获得对搜索框的引用,并像使用文本视图一样使用它,阅读它的文本并使用它。

我最终做的是实现
onquerytextlister
。此侦听器有两种方法:
onQueryTextChange
,在以文本作为参数的每个按键上调用;以及
onquerytexsubmit
,当用户按下搜索按钮时调用。如果在
onquerytexsubmit
中返回
true
,则表示一切都已处理,无需启动意图

在询问之前阅读SearchView文档OnQueryTextListener只是一个让你监听输入文本的界面,它如何发送意图?你使用searchable配置还是其他什么?