Ich habe jetzt ein Spinner und ich möchte die Daten in den Spinner mit Datenbindungsfunktion laden. Ich habe versucht, den Weg zu finden, das String-Array im XML zu deklarieren (https://developer.android.com/topic/libraries/data-binding/index.html#expression_language), aber kein zufriedenes Ergebnis gefunden.Kann nicht festlegen, String-Array für Spinner mit Android-Datenbindung
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:apps="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.util.SparseArray"/>
<variable
name="statuslist"
type="SparseArray<String>"/>
</data>
...
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/spn_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/spinner1"
android:layout_below="@+id/btn2"
android:entries="@{statuslist}"
apps:adapter="@{statusAdapter}"/>
</layout>
Wenn es erstellt wird, wird der folgende Fehler angezeigt.
Fehler: Ausführung fehlgeschlagen für Task ': app: dataBindingProcessLayoutsDebug'.
org.xml.sax.SAXParseException; systemId: file:/C:/Users/../app/build/intermediates/res/merged/debug/layout/testdialog.xml; lineNumber: 24; columnNumber: 30; The value of attribute "type" associated with an element type "null" must not contain the '<' character.
Allerdings gibt es etwas verwirrt.
- Als ich versuchte, SparseArray zu verwenden, wie auf der Website gezeigt. Ich habe im Android Studio XML Editor ein "Can not resolve sysmbol" gefunden.
- Ich weiß nicht, ist es die richtige Art, den Array-Wert für den Spinner einzurichten, da es keine offiziellen Anweisungen für die Spinner Datenbindung auf der Website gibt.
Haben Sie die Datenbindung in build.gradle aktiviert? – anhtuannd
Ja, ich aktiviere die Datenbindung in build.gradle. Hier ist die Information von meinem Android Studio (Version: 2.1.2, JavaVersion: 1.7) –