Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Mostrar selección de la lista de sugerencias en la vista de búsqueda de Android

Tengo un searchview con la lista de la sugerencia. Si el usuario selecciona un elemento de la lista, se envía una nueva intención y puedo aplicar mi filtro, pero la vista de búsqueda permanece vacía.

Si actualizo la vista de búsqueda en onNewIntent con setQuery (ver más abajo), el efecto es que el elemento seleccionado se muestra en la vista de búsqueda, pero la lista de sugerencias vuelve a aparecer. ¿Puedo evitarlo y sólo mostrar el texto de la consulta actual en la vista de búsqueda sin que aparezca la lista de sugerencias?

  • WebView hace que SQLiteDiskIOException
  • Anula la versión de Java cuando construye un proyecto Cordova con gradle
  • ListView muestra brevemente el mensaje vacío antes de cargar los datos
  • ¿Cómo puedo configurar el tamaño de un Android ProgressBar mediante programación?
  • ¿Cuál es el código para obtener un token actualizado de Facebook en una aplicación para Android?
  • Android cambia el color de fondo para el fragmento de preferencia
  • @Override protected void onNewIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { final String query = intent.getStringExtra(SearchManager.QUERY); if (!query.equals(searchView.getQuery())) { searchView.setQuery(query, false); // makes the suggestions pop up } applyFilter(query); } } 

  • JQuery Mobile + PhoneGap para Android - Error al cargar index.html
  • Cómo cargar imágenes de la carpeta mipmap por programa?
  • Android.intent.action.SCREEN_ON no funciona como filtro de intenciones de recepción
  • SwipeRefreshLayout: Desplazar la animación de progreso
  • Cómo copiar el archivo usando adb a android directorio accesible desde PC
  • Grabe vídeo con un tamaño de vista previa diferente al del archivo de vídeo resultante
  • One Solution collect form web for “Mostrar selección de la lista de sugerencias en la vista de búsqueda de Android”

    El truco consiste en reemplazar el comportamiento predeterminado del gestor de búsqueda mediante un onSubmitListener en la vista de búsqueda y devolver true desde su método onSuggestionClick, en lugar de llamar a setQuery (query, false) en el gestor de intenciones:

     @Override public boolean onSuggestionClick(int position) { String suggestion = getSuggestion(position); searchView.setQuery(suggestion, true); // submit query now return true; // replace default search manager behaviour } private String getSuggestion(int position) { Cursor cursor = (Cursor) searchView.getSuggestionsAdapter().getItem( position); String suggest1 = cursor.getString(cursor .getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1)); return suggest1; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.