He leído toda la documentación en línea sobre cómo crear interfaces de búsqueda y cómo agregar sugerencias personalizadas ... pero aún no tengo claro cómo funciona esto. La documentación dice que debo "Crear una tabla (como en una base de datos SQLite) para sus sugerencias y formatear la tabla con las columnas requeridas". Supongo que el sistema eventualmente llenará esta tabla con las sugerencias apropiadas por sí misma ... pero qué proceso/clase es responsable de esto, y cuándo ocurrirán las inserciones reales (antes de que el usuario haga una consulta, después de un la consulta ha sido hecha por el usuario, etc.)?SearchManager - agregar sugerencias personalizadas
Y mientras hago una pregunta aquí, si alguien puede aclarar la diferencia entre un AutoCompleteTextView
y un SearchView
con sugerencias personalizadas ... eso sería increíble. AutoCompleteTextView
parece sospechosamente fácil de implementar en comparación con SearchView
(que requiere que se realicen cambios en la clase de ayuda ContentProvider
, SQLiteDatabase, etc.).
bien ... creo que estoy empezando a entender. ¿Pero cuándo/dónde se insertan las sugerencias en una tabla, y qué formato tienen las sugerencias? Eso es lo que estoy confundido. Asumiría que este tipo de característica "autocompletar"/sugerencia se implementaría usando un Trie o algo ... –
es decir, ¿a qué se parece la tabla de sugerencias? ¿o la tabla resultante no es necesariamente legible por humanos? ¿Cuándo se crea esta tabla (¿necesitas crearla usando 'execSQL')? –
me gustaría obtener una característica simple de búsqueda "autocompletar/sugerir-completar" sobre una cierta columna en mi base de datos ... pero si eso significa cambiar toda mi base de datos y meterme con un montón de archivos, siempre podría regresar para ello en una fecha posterior (¡aunque sigo creyendo que esto no debería tardar tanto en implementarse! ¡Todo lo que quiero es que el sistema se complete automáticamente en una sola columna de cadenas en mi base de datos!). –