Quindi dico Io uso il seguente adattatore per l'AutoCompleteTextView:Utilizzando un adattatore elenco personalizzato con l'AutoCompleteTextView e mantenendo la funzionalità del completamento automatico di lavoro lo stesso
public class RosterAdapter extends ArrayAdapter<Player> {
...
}
che sta usando un oggetto chiamato Player, dove, come il AutoCompleteTextView predefinito funziona con una stringa.
L'elenco viene visualizzato correttamente quando si utilizza quello personalizzato, ma l'unico problema è quando inizio a digitare qualcosa, non visualizza le cose giuste.
Per esempio - se si digita qualcosa bo
, mi aspetto che la gente con il nome Bob Henderson
, Garry Bobrinski
, ecc ..
Ma quello che si presenta è la stessa lista, che non sembra importare che tipo I - Solo in modo casuale arriva.
Posso non utilizzare un oggetto personalizzato affinché funzioni? Devo usare una stringa per farlo corrispondere correttamente alle voci? O è in qualche modo che posso dire di guardare una stringa specifica per ciascuna delle voci?
* Aggiornamento *
Ecco alcuni più codice - questo è come ho impostato l'adattatore personalizzato RosterAdapter
. Funziona, ma l'aspetto di completamento automatico di esso non funziona correttamente. È quasi come se si confondesse e non sapesse cosa cercare nell'oggetto, per abbinare la stringa digitata.
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players);
RosterAdapter adapter = new RosterAdapter(RosterActivity.this, R.layout.roster_row, players);
textView.setAdapter(adapter);
Questo sta usando un ArrayAdapter generica, e questo funziona bene per la corrispondenza delle voci:
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(RosterActivity.this, R.layout.players_autocomplete, players);
textView.setAdapter(adapter);
Grazie Aleadam - ho finito per usare un work-around, ma ci proverò out' getFilter() ' – xil3
Qual è stato il work-around? Mi sto grattando la testa con questo problema adesso. La cosa strana è che l'elenco contiene risultati telefonici quando inizio a digitare, ma se backspace, inizia a comportarsi (!) –