Intereting Posts
Achartengine on android – многократная ось Y Как прокручивать текст с помощью панели поиска? Eclipse не обновляет apk при внесении изменений в приложение phonegap Как использовать EditTextPreference в качестве текстового поля с маскированным паролем? Phonegap – кордова – медленная и медленная работа на устройствах Android и iOS Android – ограничение перетаскивания в ограничительную рамку Вставка в Genymotion Android Emulator Android-анимация списка анимации Паганирование Android ParseQueryAdapter с помощью RecyclerView.Adapter Eclipse переходит в класс в Android Разрешены ли общие настройки в приложениях Android, когда пользователь обновляет приложение? Как я могу получить доступ к частным API-интерфейсам Android, которые не отображаются в TelephonyManager? Можно ли прокручивать ScrollView с помощью ConstraintLayout в режиме Blueprint? Как установить кнопку «Отмена» в диалоговом окне «Прогресс»? Android переименовать базу данных SQLite

Как обрабатывать подсказку с помощью 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 снова.