2016-08-09 5 views
0

私はスピナーを持っており、データバインディング機能を備えたスピナーにデータをロードします。私はXML(https://developer.android.com/topic/libraries/data-binding/index.html#expression_language)の文字列配列を宣言する方法を見つけようとしましたが、満足のいく結果は見つかりませんでした。Androidデータバインディングを使用してスピナーの文字列配列を設定できません

<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エディタで "Can not resolve 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リストが含まれている必要がありますスピナードロップダウンで見つかる項目の数。

関連する問題