Пользовательское автозаполнение в Android

Я хочу отобразить список имен контактов с соответствующими телефонными номерами

как


Викас Патидар ‹9999999999>


Рахул Патидар ‹9999999999>


использование AutoCompleteTextView, когда пользователь вводит текст в поле номера мобильного телефона.

В стиле по умолчанию я могу отображать только список имен.

Может ли кто-нибудь рассказать мне, как я могу реализовать это, чтобы, когда пользователь выбирает любой элемент в списке, я мог отображать его номер в поле «Мобильный номер».


person Vikas Patidar    schedule 08.10.2010    source источник


Ответы (1)


Вам нужно использовать адаптер для этой задачи. Например, с SimpleAdapter:

SimpleAdapter adapter = new SimpleAdapter(context, list, R.id.row_layout, new String[] { "Name", "Phone" }, new int[] { R.id.name, R.id.phone });
autoCompleteField.setAdapter(adapter);

Для этого вам нужно создать XML-файл макета, а список должен быть типа List<? extends Map<String, ?>. Строки в 4-м параметре являются ключами для карт в списке. Целые числа в 5-м параметре — это идентификаторы компонентов в файле макета.

Или вы можете расширить любой адаптер и использовать его. См. эту ссылку для справки.

person Sergey Glotov    schedule 08.10.2010
comment
Да .. но это отображает текст в автозаполнении, например {name = tom и no = 1234}. Если я использую onItemClickListener, он переводит курсор в начало текстового поля. Я работаю над этим, пожалуйста, предложите решение - person Vibhuti; 22.02.2012