У меня есть приложение для Android, которое имеет несколько различных действий для просмотра статей и изображений, загруженных из RSS.Две операции поиска.xml в одном AndroidManifest.xml
Я хочу, чтобы иметь возможность подключить search button to the Search dialog, используя файл 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
.
Теперь я хотел бы иметь возможность искать изображения, когда пользователь является ImageListActivity
, используя 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
метаданных только выбранные действия, поиск не запускается.
Я уверен, что это должно быть возможно, но я не знаю, что я делаю неправильно.
Вы поняли это? – Dan
Я не думаю, что вы можете сделать это с помощью xml, так как ресурс один к одному с намерением. Возможно, вы сможете отключить ресурс в своем коде. – JPM