Вы не инициализируете adapter
члена вашего класса.
Попробуйте изменить:
list.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, cityList));
до:
adapter = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, cityList);
list.setAdapter(adapter);
Часть этой статьи гласит:
Оказывается, это довольно легко. Чтобы выполнить быстрый тест, добавьте эту строку в ваш onCreate()
вызов
adapter.getFilter().filter(s);
Обратите внимание, что вам нужно сохранить ListAdapter
в переменной, чтобы сделать эту работу - я сохранил свой ArrayAdapter<String>
от ранее в переменную 'adapter'
.
Хотя это вводит в заблуждение, поскольку опубликованный код не отражает это изменение.