2

我目前正在为我的应用程序添加搜索功能,但我面临一些问题。首先,我想清楚说明我不想创建搜索活动,我只想使用操作栏SearchView并按建议执行搜索。Android搜索配置没有附加到SearchView

我已经创建了一个SearchView,它正确地展开,尽管它看起来不像它可以附加到我的Searchable Configuration xml对象。我加入这行代码:

机器人:voiceSearchMode =“showVoiceSearchButton | launchRecognizer”

然而,我搜索查看似乎并不受其影响。这同样适用于这行代码:

机器人:提示=“搜索我的东西”

同样,没有效果。

这是我在我的AndroidManifest.xml活动:

<activity 
    android:name="com.simon.holocountownapp.ItemListActivity" 
    android:label="Holo Countdown" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="android.intent.action.SEARCH" /> 
    </intent-filter> 

    <meta-data 
     android:name="android.app.searchable" 
     android:resource="@xml/searchable" /> 
</activity> 

这是我在我的onCreateOptionsMenu()的搜索查看的设置:

searchView = (SearchView) menu.findItem(R.id.abSearch) 
      .getActionView(); 

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
searchView.setSearchableInfo(searchManager 
      .getSearchableInfo(getComponentName())); 

searchView.setIconifiedByDefault(false); 
searchView.setQueryRefinementEnabled(true); 

因此,要总结的东西:用于 的标签我searchable.xml似乎不附加到我的SearchView,我做错了什么?

感谢您抽出时间来阅读这封信的时候,我希望你能帮助我:)

+0

你有没有解决过这个问题? – 2015-03-13 21:05:11

+0

@DrJorge不,我没有 – SweSnow 2015-03-23 08:04:45

+0

面临同样的问题。 – Yashasvi 2016-01-20 06:19:28

回答

0

您需要添加android.intent.action.SEARCH意向筛选器。请参阅代码here以供参考。

<intent-filter> 
     <action android:name="android.intent.action.SEARCH" /> 
    </intent-filter> 
+0

我补充说,但它仍然无法正常工作。我原来的帖子已更新。 – SweSnow 2013-02-16 16:34:53

+0

是您发布'com.simon.holocountownapp.ItemListActivity'活动的'onCreateOptionsMenu()'。 'getComponentName()'将返回当前活动的名称。它应该是具有android.intent.action.SEARCH意图过滤器的活动的名称。 – Akash 2013-02-16 18:44:55

+0

是的,我现在再次检查 – SweSnow 2013-02-16 19:46:38

0

我想你也需要一个<meta-data>元素作为<application>元素

<application> 
     <meta-data 
      android:name="android.app.default_searchable" 
      android:value="com.simon.holocountownapp.ItemListActivity" > 
     </meta-data> 
</application> 

如果这是记录我不记得的孩子。我想我在其中一个示例应用程序中找到了它。

+0

我尝试过,也没有奏效。 – SweSnow 2013-02-16 23:55:33

+0

如果您希望每个活动都显示SearchView,则只需要它作为的子项。 – 2013-09-12 20:54:56