Android Autocompletetextview e filatore modificabile
-
22-09-2019 - |
Domanda
Ecco il mio piano d'azione: Ho una base di dati, in cui 2 colonne sono interessanti per me. Io ora creato un autocompletetextview dove i gehts adattatore tramite SQL le voci di una colonna.
Fin qui tutto bene ..., ma quello che realmente voglio è, che se l'utente digita qc. nella autocompletefield ho notato questo e prendere il testo. Via SQL Ora voglio ottenere everey Entrata di colonna 2 in cui il valore della colonna 1 è contenuta nel testo inserito. E questo elenco dovrebbe essere visualizzato l'adattatore. In altre parole, a filtrare i dati da me tramite SQL, ma voglio che visualizzeranno l'adattatore. Il problema è , che l'adattatore mostra solo le voci che iniziano con il testo nella autocompletefield ma voglio mostrare l'adattatore in qualsiasi momento, come già saied: a filtrare i dati da me voglio solo l'adattatore per visualizzarli. Qualsiasi Ideo come risolvere questo? l'AutocompleteTextView è l'oggetto giusto da usare?
Ho anche pensato di usare un semplice Spinner ... ma quando si utilizza un filatore ci sono 2 problemi principali. prima avrei dovuto fargli modificabile. e la seconda avrei bisogno di un menu a discesa al posto del "pop-up". ...
Un'altra mia idea per risolvere questo problema è quello di scrivere un proprio filtro per il campo di completamento automatico ... ma non ho mai su questa finora e anche io non potrebbe trovare alcun esempio in internet per farlo.
Grazie per il vostro aiuto
Soluzione
Ho cambiato il metodo di ArrayAdapter filatore e ho ottenuto il mio personalizzato Spinner. basta cambiare il parametro di questo metodo come
Spinner spinner = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(This,R.array.statename,R.layout.mylayout);
spinner.setAdapter(adp);
in cui il file mylayout contiene
<EditText
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/spinnerTarget"
android:textColor="#FF8B1500"
android:gravity="center"
>
Altri suggerimenti
È possibile utilizzare autocompleteTextView e impostare il suo adattatore per i valori da SQLite o da matrice di stringhe come illustrato di seguito:
String values[]= {"Orange","Apple","Pineapple"};
AutoCompleteTextView text=(AutoCompleteTextView)findViewById(R.id.a1);
text.setAdapter(new ArrayAdapter<String>
(this,android.R.layout.simple_dropdown_item_1line,values));
Per ulteriori informazioni su di esso andare a sito sviluppatori