Использование адаптера настраиваемого списка с помощью AutoCompleteTextView и по-прежнему сохраняя функциональность автоматического завершения работы одинаково

Так сказать, я использую следующий адаптер для AutoCompleteTextView:

public class RosterAdapter extends ArrayAdapter<Player> { ... } 

Это использует объект под названием Player, где по умолчанию AutoCompleteTextView работает со строкой.

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

Например, если я начну печатать bo , я бы ожидал людей с именем Bob Henderson , Garry Bobrinski и т. Д.

Но то, что появляется, – это тот же список, который, похоже, не имеет значения, что я набираю – просто случайно появляется.

Могу ли я использовать пользовательский объект для этого? Должен ли я использовать String для его соответствия строкам? Или, может быть, я могу сказать, чтобы посмотреть на конкретную строку для каждой из записей?

* Обновить *

Вот еще один код – вот как я устанавливаю пользовательский адаптер RosterAdapter . Это работает, но его автозаполнение не работает должным образом. Это почти похоже на то, что он запутывается и не знает, что искать в объекте, чтобы соответствовать типизированной строке.

 AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players); RosterAdapter adapter = new RosterAdapter(RosterActivity.this, R.layout.roster_row, players); textView.setAdapter(adapter); 

Это использует общий ArrayAdapter, и это отлично подходит для сопоставления записей:

 AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players); ArrayAdapter<String> adapter = new ArrayAdapter<String>(RosterActivity.this, R.layout.players_autocomplete, players); textView.setAdapter(adapter); 

Трудно сказать без кода, но я считаю, что вы не могли бы реализовать getFilter() чтобы позволить адаптеру использовать объекты Player как строки.

Для примера (не связанное требование, но тот же самый фильтр), см.: Как использовать AutoCompleteTextView и заполнить его данными из веб-API?

Здесь есть еще один пример: http://www.sacoskun.com/2008/08/autocompletetextview-with-simpleadapter.html