Atualizando dinamicamente um adaptador AutoCompleteTextView
Desejo alterar periodicamente as sugestões fornecidas por um AutoCompleteTextview, obtendo a lista de um serviço da Web RESTful e não consigo fazê-lo funcionar sem problemas. Configurei uma lista codificada de sugestões para garantir que ele funcione:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv
Eu tenho um TextWatcher na visualização de texto e quando o texto muda, inicia uma chamada sem bloqueio para obter uma nova lista de sugestões - esta parte que recebe uma nova lista está funcionando bem. Quero redefinir o adaptador, assim:
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);
}
Este método é chamado, mas não funciona - a lista de sugestões desaparece ou as sugestões exibidas permanecem inalteradas, apesar da chamada parasetAdapter
.
Essa é mesmo a abordagem correta? Eu olhei paraSimpleCursorAdapter
mas não conseguia ver como registrar meu serviço da web como provedor de conteúdo. (É da formahttp: //www.blah.com/query? term = XX, onde XX é a entrada do meu aplicativo e a resposta é uma matriz JSON de cadeias.)