无法设置字符串数组采用Android数据绑定微调

问题描述 投票:1回答:4

我现在有一个微调,我想将数据加载到数据绑定功能的微调。我试图找到宣布在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>

当它被建立,显示下面的错误。

错误:执行失败的任务“:应用程序:dataBindingProcessLayoutsDebug”。

org.xml.sax.SAXParseException;的systenId:文件:/ C:/用户/../应用程序/建立/中间体/ RES /合并/调试/布局/ testdialog.xml; LINENUMBER:24;得到columnnumber:30;与元素类型“空”不能包含“<”字符相关联的属性的“类型”的值。

然而,有一些困惑。

  1. 当我试图用SparseArray网站上,如图所示。我发现在Android Studio中的XML编辑器“无法解析sysmbol”。
  2. 我不知道是不是正确的方法来设置的微调数组值,因为没有用于bindingin网站上的微调数据没有官方的说明。
android android-spinner android-databinding
4个回答
0
投票

你导入SparseArray?

尝试这个 :

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

0
投票

这是一个非常简单的方法来设置与您的资源的array.xml一个字符串数组微调

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

spinner_array_items应包含的项目列表在微调下拉菜单中找到。


0
投票

更改SparseArray<String>SparseArray&lt;String&gt;


0
投票

那么我的实现逻辑是基于你的,而是用来ArrayList SparseArray

XML:

    <data>
        <import type="java.util.ArrayList" />
        <variable
            name="cities"
            type="ArrayList&lt;String>"
        />        
    </data>

    <!-- Location -->
    <Spinner
        android:id="@+id/dd_city"
        android:entries="@{cities}"
        style="@style/dropdown"
    />

现在,我们只需要我们ArrayList通过绑定类到cities绑定变量。

至少数据将被结合:)。

TC。

© www.soinside.com 2019 - 2024. All rights reserved.