Ho letto tutta la documentazione online sulla creazione di interfacce di ricerca e l'aggiunta di suggerimenti personalizzati ... ma non sono ancora chiaro come funzioni. La documentazione dice che devo "Costruire una tabella (come in un SQLiteDatabase) per i tuoi suggerimenti e formattare la tabella con le colonne richieste". Suppongo che il sistema finirà per riempire questa tabella con i suggerimenti appropriati da solo ... ma quale processo/classe è responsabile per questo, e quando si verificheranno gli inserimenti effettivi (prima che qualsiasi query sia fatta dall'utente, dopo un la query è stata fatta dall'utente, ecc.)?SearchManager - aggiunta di suggerimenti personalizzati
E mentre sto facendo una domanda quassù, se qualcuno potesse chiarire la differenza tra un AutoCompleteTextView
e un SearchView
con suggerimenti personalizzati ... sarebbe fantastico. AutoCompleteTextView
sembra molto semplice da implementare rispetto allo SearchView
(che richiede modifiche da apportare allo ContentProvider
, classe helper SQLiteDatabase, ecc.).
OK ... penso che sto cominciando a capire. Ma quando/dove vengono inseriti i suggerimenti in una tabella e in quale formato sono presenti i suggerimenti? Questo è ciò di cui sono confuso. Suppongo che questo tipo di funzionalità di "completamento automatico"/suggerimento venga implementato utilizzando un Trie o qualcosa del genere ... –
cioè, che aspetto ha la tabella dei suggerimenti? o la tabella risultante non è necessariamente leggibile? quando viene creata questa tabella (devi crearla usando 'execSQL')? –
Mi piacerebbe avere una semplice funzione di ricerca "auto-complete/suggerire-completa" su una determinata colonna nel mio database ... ma se ciò significa cambiare il mio intero database e fare casino con un sacco di file, potrei sempre tornare ad esso in un secondo momento (anche se credo ancora che questa cosa non dovrebbe impiegare molto tempo per implementare! tutto quello che voglio è il sistema per il completamento automatico su una singola colonna di stringhe nel mio database!). –