Страницы

Поиск по вопросам

пятница, 13 марта 2020 г.

AutoCompleteTextView для ArrayList собственного класса

#java #android #arraylist


Создал на форме AutoCompleteTextView и передаю в него ArrayList, состоящий из элементов,
созданного класса Person:

class Person {

    private String Name;

    public String getName() {
        return Name;
    }

    public void setName(String firstName) {
        this.Name = firstName;
    }
}


ArrayList не пустой, элементы в нем есть, проверял.

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_message);
    ArrayAdapter adapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item,
list);
    textView.setAdapter(adapter);


Ошибок в коде нет, но во время тестирования и ввода текста, виджет не работает. Как
сделать так, чтобы при наборе, виджет выдавал мне список элементов из ArrayList, соответствующих
введенному тексту? (в классе только одно поле, по нему поиск и идет)
    


Ответы

Ответ 1



Реализуйте метод toString() в своем классе-модели: class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return name; } } либо реализуйте собственный адаптер на основе стандартного, если требуется более сложный вывод. PS: имена переменных и экземпляров классов в Java принято писать с маленькой буквы в lowerCamelCase-стиле. С Большой буквы пишутся имена классов

Комментариев нет:

Отправить комментарий