我有一个 Android 应用程序,它有一些不同的活动,用于浏览从 RSS 下载的文章和图像。
我希望能够使用文件将搜索按钮连接到搜索对话框searchable.xml
。我已经设法通过一次搜索来做到这一点,使用:
<activity android:name=".search.SearchResultsActivity"
android:label="@string/search_results_activity_title" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable_articles"/>
</activity>
并且在<application />
<meta-data android:name="android.app.default_searchable"
android:value=".search.SearchResultsActivity" />
我现在可以从任何活动启动搜索对话框,它会启动SearchResultsActivity
.
我现在希望能够在用户是 a 时搜索图像ImageListActivity
,使用 a searchable_images.xml
,并在其他任何地方使用默认值。
我有一个SearchResultsImageActivity
包含以下元数据元素,并在ImageListActivity
.
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable_images"/>
按 中的搜索按钮时ImageListActivity
,我会从 中获取默认搜索searchable_articles.xml
。
如果我将 更改default_searchable
为SearchResultsImageActivity
,则始终启动图像搜索,并且永远不会启动文章搜索。
如果我default_searchable
完全删除元数据元素,并仅添加searchable
元数据选定的活动,则不会启动搜索。
我很确定这应该是可能的,但我不知道我做错了什么。