Как обрабатывать подсказку с помощью SearchView в ActionBar, ContentProvider, вызывающий webService, возвращающий курсор?

У меня проблема, когда я пытаюсь настроить автоматический поиск с помощью searchView на ActionBar.

У меня есть contentProvider, который вызывает webService самостоятельно, чтобы получить предложения. Он возвращает курсор, и предложение правильно представлено в пользовательском интерфейсе.

Проблема в том, что ничего не происходит, когда я выбираю одно из этих предложений.

Я не уверен, что хранить в SUGGEST_COLUMN_INTENT_ACTION.

При чтении документации я понял, что метод onCreate моей активности должен быть вызван еще раз и что я могу получить SUGGEST_COLUMN_INTENT_ACTION, чтобы узнать контекст и получить SUGGEST_COLUMN_INTENT_DATA с намерением.getData ().

OnCreate никогда не вызывается, никакого исключения не выбрасывается, ничего не происходит …

Что я пропустил? Почему ничего не происходит, когда я выбираю предложение?

Моя searchable.xml:

<?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/app_name" android:hint="@string/search_hint" android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" android:searchSuggestAuthority="MyPackage.search_suggestion_provider" android:searchSuggestIntentAction="android.intent.action.SEARCH" > </searchable> 

Я просто изменил setOnClickListener в setOnSuggestionListener, и он сработал …

Теперь, я получаю позицию предложенного предложения, но мне нужен идентификатор, который мой провайдер установил в курсор после завершения поиска. Я сделал это так:

  CursorAdapter c = searchView.getSuggestionsAdapter(); ... Cursor cur = c.getCursor(); cur.move(position); String val = cur.getString(cur.getColumnIndex(BaseColumns._ID)); 

Это лучший способ сделать это?

Из-за отсутствия хорошего учебника относительно searchView в actionBar, использующего contentProvider для асинхронного вызова webService, я просто пытаюсь выполнить эту работу, и у меня есть другой вопрос:

Я никогда не создаю xml-файл, описывающий список, в котором показано мое предложение. Как это работает ? Удалось ли создать этот listView на основе описания curosr, возвращаемого моим contentProvider?

Thx снова.