2016-08-09 2 views
0

지금 회 전자가 있으며 데이터 바인딩 기능으로 회 전자에 데이터를로드하려고합니다. 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.

그러나 혼란스러운 점이 있습니다.

  1. 웹 사이트에 표시된대로 SparseArray를 사용하려고했을 때. Android Studio XML 편집기에서 "해결할 수없는 sysmbol"을 발견했습니다.
  2. 웹 사이트의 스피너 데이터 바인딩에 대한 공식 지침이 없기 때문에 스피너에 대한 배열 값을 설정하는 올바른 방법인지는 잘 모르겠습니다.
+0

build.gradle에서 데이터 바인딩을 활성화 했습니까? – anhtuannd

+0

예, build.gradle에서 데이터 바인딩을 사용합니다. 다음은 Android Studio (버전 : 2.1.2, JavaVersion : 1.7) –

답변

0

SparseArray를 가져 왔습니까?

이 시도 :

<data><import type="android.util.SparseArray"/></data> 
+0

의 정보입니다. 질문에이 진술을 추가하는 것을 잊었습니다. 나는 이것을 시도했지만 작동하지 않는다. –

+2

SparseArray SparseArray로 변경 < 문자열>, 다시 시도 – FrankOy

+0

이 방법으로 시도했지만 여전히 작동하지 않습니다. "기호를 해결할 수 없습니다."오류는 여전히 표시됩니다. –

0

이 자원의 array.xml에서 문자열 배열 스피너를 설정하는 매우 간단한 방법입니다

<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:entries="@array/spinner_array_items"/> 

spinner_array_items 목록을 포함해야 회 전자 드롭 다운에서 찾을 수있는 항목 수