gpt4 book ai didi

android - 使用 DataBinding 访问整数数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:23 25 4
gpt4 key购买 nike

我正在尝试使用 DataBinding 为 Integer 数据创建 RecyclerView,我已经通过在 string.xml 中声明 string-array 来尝试使用 String 数据here是我引用的答案。

现在我正尝试用 integer-array 实现它,但无法从 xml 访问它。

这是我的 integer.xml

<integer-array name="hours">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
</integer-array>

这是我的xml文件

<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:entries="@{@integerArray/hours}">

和我的自定义绑定(bind)适配器

@BindingAdapter("entries")
public static void entries(RecyclerView recyclerView, Integer[] array) {
recyclerView.setAdapter(new SimpleArrayAdapter(array));
}

但它向我显示错误 line 1:0 token recognition error at: '@integerArray/'

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: Found data binding errors.
****/ data binding error ****msg:Identifiers must have user defined types from the XML file. hours is missing

最佳答案

document 找到解决方案本身,我犯了愚蠢的错误。它应该是intArray而不是integerArray,在BindingAdapter中它应该是int[]

app:entries="@{@intArray/hours}"

适配器应该是

@BindingAdapter("entries")
public static void entries(RecyclerView recyclerView, int[] array) {
recyclerView.setAdapter(new SimpleArrayAdapter(array));
}

关于android - 使用 DataBinding 访问整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38989287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com