Я использую AutoCompleteTextView для предложений адреса.
Что я хочу сделать, так это когда пользователь вводит адрес (например, «Ма»), предложения отображаются как «Мэри, Мэдли, Ма ...».
Затем, когда пользователь выбирает одно из предложений, он сразу же получает другие предложения, содержащие весь адрес.
Например: он выбрал «Мэри» и получил предложения вроде «Мэри 123, Бостон», «Мэри 1566, Нью-Йорк», «Мэри Джейн 569, Нью-Йорк».
Проблема в том, что предложения вводятся в адаптере, но не отображаются. Выпадающий список не отображается после выбора.
Пока мой наблюдатель текста назначен AutoCompleteTextView, отвечающим за предложения:
TextWatcher textWatcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(etStreet.isPerformingCompletion())
return;
List<String> arrayValues = getValues();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_dropdown_item_1line, arrayValues);
etUlica.setAdapter(adapter);
}
};
Я пробовал вызывать showDropDown () при щелчке по элементу, изменении текста и любом другом событии, но оно просто не отображается. Он отображается только тогда, когда пользователь вводит текст с клавиатуры.