지금 회 전자가 있으며 데이터 바인딩 기능으로 회 전자에 데이터를로드하려고합니다. 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: 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.
그러나 혼란스러운 점이 있습니다.
- 웹 사이트에 표시된대로 SparseArray를 사용하려고했을 때. Android Studio XML 편집기에서 "해결할 수없는 sysmbol"을 발견했습니다.
- 웹 사이트의 스피너 데이터 바인딩에 대한 공식 지침이 없기 때문에 스피너에 대한 배열 값을 설정하는 올바른 방법인지는 잘 모르겠습니다.
build.gradle에서 데이터 바인딩을 활성화 했습니까? – anhtuannd
예, build.gradle에서 데이터 바인딩을 사용합니다. 다음은 Android Studio (버전 : 2.1.2, JavaVersion : 1.7) –