【发布时间】:2016-08-09 03:06:32
【问题描述】:
我现在有一个微调器,我想通过数据绑定功能将数据加载到微调器。我试图找到在 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;与元素类型“null”关联的属性“type”的值不能包含“
但是,有一些令人困惑的事情。
- 当我尝试使用网站上显示的 SparseArray 时。我在 Android Studio XML 编辑器中发现“无法解析 sysmbol”。
- 我不知道设置微调器的数组值是否正确,因为网站上没有微调器数据绑定的官方说明。
【问题讨论】:
-
你是否在 build.gradle 中启用了数据绑定?
-
是的,我在 build.gradle 中启用了数据绑定。这是我的Android Studio的信息(版本:2.1.2,JavaVersion:1.7)
标签: android android-spinner android-databinding