Я хочу периодически изменять предложения, представленные AutoCompleteTextview, получая список от веб-службы RESTful, и не могу заставить его работать гладко.Я настроил жестко запрограммированный список предложений, чтобы убедиться, что он работает:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv
У меня есть TextWatcher для просмотра текста, и при изменении текста запускается неблокирующий вызов для получения нового списка.предложений - эта часть, которая получает новый список, работает нормально.Затем я хочу сбросить адаптер, например так:
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);
}
Этот метод вызывается, но не работает - список предложений либо исчезает, либо отображаемые предложения остаются неизменными, несмотря на вызов setAdapter
.
Это даже правильный подход?Я посмотрел на SimpleCursorAdapter
, но не увидел, как зарегистрировать мой веб-сервис в качестве поставщика контента.(Он имеет вид http://www.blah.com/query?term=XX,, где XX - это входные данные из моего приложения, а ответ представляет собой массив строк JSON.)