Я хотел бы отобразить два значения в раскрывающемся списке моего счетчика.
В настоящее время у него есть только название города, но я также хотел бы добавить к нему небольшое поле расстояния.
MyCity<MyCityDistance> dataAdapter;
dataAdapter = new MyCity(this, R.layout.mycityrow, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
У меня есть весь код для адаптера пользовательских данных, exapanding мой взгляд и держатель и т.д.
Однако элемент, который показывает шоу, не отображает ни город, ни его расстояние от моего текущего местоположения.
Он показывает только то, что переопределено в методе 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
current заключается в том, что первый элемент Spinner показан в соответствии с компоновкой mycityrow
. Однако, когда я открываю раскрывающийся список, этот макет теряется. Я хочу, чтобы та же самая компоновка и при выпадающем выборе.