Пример пользовательского элемента счетчика setDropDownViewResource

Я хотел бы отобразить два значения в раскрывающемся списке моего счетчика.

В настоящее время у него есть только название города, но я также хотел бы добавить к нему небольшое поле расстояния.

    MyCity<MyCityDistance> dataAdapter;  

    dataAdapter = new MyCity(this, R.layout.mycityrow, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

У меня есть весь код для пользовательского адаптера данных, расширения моего представления и держателя и т. д.

Однако отображаемый элемент не отображает город и расстояние до него от моего текущего местоположения.

Здесь показано только то, что переопределено в методе toString() класса MyCityDistance.

Я даже пытался установить

dataAdapter.setDropDownViewResource(R.layout.mycityrow);

но безуспешно. Выдает ошибку.

04-02 11:05:22.600: E/AndroidRuntime(367): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
04-02 11:05:22.600: E/AndroidRuntime(367):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
04-02 11:05:22.600: E/AndroidRuntime(367):  at android.widget.ArrayAdapter.getDropDownView(ArrayAdapter.java:376)
04-02 11:05:22.600: E/AndroidRuntime(367):  at android.widget.Spinner$DropDownAdapter.getDropDownView(Spinner.java:332)

Какой хороший пример создания собственного setDropDownViewResource()?

Даже если я закомментирую строку setDropDownViewResource(), я получу ту же ошибку.

Примечание. Единственный текущий эффект mycityrowзаключается в том, что первый элемент Spinner отображается в соответствии с макетом mycityrow. Однако, когда я открываю раскрывающийся список, этот макет теряется. Я тоже хочу такой же макет во время выпадающего списка.

11
задан CaptJak 21 April 2016 в 01:18
поделиться