Ich möchte zwei Werte in einer Dropdown-Ansicht meines Spinner anzeigen.Beispiel für benutzerdefinierte setDropDownViewResource Spinner Element
Derzeit hat es nur einen Städtenamen, aber ich möchte auch ein kleines Distanzfeld hinzufügen.
MyCity<MyCityDistance> dataAdapter;
dataAdapter = new MyCity(this, R.layout.mycityrow, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Ich habe den gesamten Code für benutzerdefinierte Datenadapter, exapanding meine Ansicht und Halter usw.
jedoch die Position, die Show wird nicht angezeigt, sowohl die Stadt und ihre Entfernung von meinem aktuellen Standort.
Es wird nur angezeigt, was in der toString() - Methode der MyCityDistance-Klasse überschrieben wird.
Ich habe sogar versucht
dataAdapter.setDropDownViewResource(R.layout.mycityrow);
aber keinen Erfolg einstellen. Es wirft einen Fehler auf.
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)
Was ist ein gutes Beispiel Ihre eigenen Erstellungs setDropDownViewResource()
?
Auch wenn ich die setDropDownViewResource()
Zeile kommentieren, bekomme ich den gleichen Fehler.
Hinweis: Der einzige Effekt mycityrow
aktuell ist, dass das erste Element von Spinner gemäß dem Layout mycityrow
angezeigt wird. Wenn ich jedoch auf das Drop-down-Menü klicke, ist das Layout verloren. Ich möchte das gleiche Layout auch während der Dropdown-Auswahl.
Ich frage mich, wie es mit einem Null-Elternteil funktioniert? –
Das Übergeben des übergeordneten Elements als null entspricht dem Übergeben von 'attachToRoot' als false, wenn mit dem LayoutInflater aufgebläht wird. – st0le
Habe die Lösung diesen Code implementieren :) Danke –