Виджет поиска на панели действий не запускает мою активность поиска

Я разрабатываю интерфейс виджета поиска на основе официального учебника: http://developer.android.com/guide/topics/search/search-dialog.html

Проблема: My SearchableActivity не запускается при вводе моего запроса и нажмите Ok / enter.

Манифест для поиска:

<activity android:name="SearchableActivity" android:launchMode="singleTop" > <intent-filter> <action android:name="android.intent.action.SEARCH" /> </intent-filter> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" /> </activity> 

XML / searchable.xml

 <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:hint="Search" android:label="@string/app_name" > </searchable> 

Основной метод жизненного цикла активности, который добавляет значки в панель действий (отлично работает):

 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); // Get the SearchView and set the searchable configuration SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); // Do not iconify the widget;expand it by default searchView.setIconifiedByDefault(false); return true; } 

SearchableActivity.java

 public class SearchableActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("MY", "search activity triggered"); } } 

Примечание. Виджет поиска отображается на панели действий, и я могу вставлять данные, но нажатие кнопки «ОК» / «Ввод» не приводит меня к поисковой активности (не запускает onCreate of SearchableActivity).

Я что-то упускаю, или официальный урок испорчен?

Solutions Collecting From Web of "Виджет поиска на панели действий не запускает мою активность поиска"

Проблема решена: в учебнике отсутствует какая-то важная часть: <meta-data android:name="android.app.default_searchable" android:value=".MySearchActivityName" /> необходимо добавить внутри <application> в манифесте, чтобы получить Виджет поиска работает правильно.

EDIT – также подсказка для решения проблемы, когда поиск в действии не запускается при отправке данных (никакая ошибка не указана, и документация не получила ни слова об этом ограничении): в файле searchable.xml android: hint and android: label Должен быть ссылкой на строки в strings.xml. Источник

Вы должны переопределить onOptionsItemSelected и, возможно, onSearchRequested в своей деятельности.

Если файл «xml / searchable.xml» некорректно отформатирован (например, тег «поиск» не во всех нижних строках), во время выполнения не появляется сообщение об ошибке, и «SearchableActivity» не вызывается.