Теперь у меня есть счетчик, и я хочу загрузить данные в счетчик с функцией привязки данных. Я попытался найти способ объявить массив строк в XML(https://developer.android.com/topic/libraries/data-binding/index.html#expression_language), но удовлетворительный результат не найден.
<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>
При сборке появляется следующая ошибка.
Ошибка: не удалось выполнить задачу ':app:dataBindingProcessLayoutsDebug'.
org.xml.sax.SAXParseException; systemId: файл:/C:/Users/../app/build/intermediates/res/merged/debug/layout/testdialog.xml; номер строки: 24; номер столбца: 30; Значение атрибута "type", связанное с типом элемента "null", не должно содержать символ '‹'.
Однако есть что-то запутанное.
- Когда я пытался использовать SparseArray, как показано на сайте. Я нашел «Не удается разрешить sysmbol» в XML-редакторе Android Studio.
- Я не знаю, является ли это правильным способом установки значения массива для счетчика, поскольку на веб-сайте нет официальных инструкций по привязке данных счетчика.