Desidero modificare periodicamente i suggerimenti forniti da AutoCompleteTextview recuperando l'elenco da un servizio web RESTful e non riesco a farlo funzionare correttamente. Ho creato un elenco hardcoded di suggerimenti per assicurarsi che tutto funzioni:Aggiornamento dinamico di un adattatore AutoCompleteTextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv
Ho un TextWatcher sul TextView e quando cambia il testo che lancia una chiamata non bloccante per ottenere un nuovo elenco di suggerimenti - questa parte che ottiene una nuova lista sta funzionando bene. Poi voglio reimpostare l'adattatore, in questo modo:
public void setOptionsAndUpdate(String[] options) {
Log.d(TAG, "setting options");
//speciesName.setAdapter((ArrayAdapter<String>)null);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, options);
speciesName.setAdapter(adapter);
}
Questo metodo viene chiamato, ma non funziona - l'elenco di suggerimenti o scompare o dei suggerimenti visualizzati rimangono invariati nonostante la chiamata a setAdapter
.
È questo l'approccio giusto? Ho guardato su SimpleCursorAdapter
ma non sono riuscito a vedere come registrare il mio servizio web come fornitore di contenuti. (E 'la forma http://www.blah.com/query?term=XX, dove il XX è l'ingresso dal mio app, e la risposta è un array JSON di stringhe.)
Sto facendo qualcosa di simile QUI !!! http://stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42