我试图在数据绑定布局中声明一个变量,它的类型是整数数组,但是在构建项目时出现错误
找不到接受参数类型“int[]”的 <android.widget.LinearLayout app:availableGradesIndexes> 的设置器
如果绑定适配器提供了设置器,请检查适配器是否正确注释以及参数类型是否匹配。
xml中的变量声明
<variable
name="availableGradesIndexes"
type="int[]" />
<variable
name="subject"
type="Subject" />
绑定适配器
@BindingAdapter("availableGradesIndexes", "subject")
fun LinearLayout.bindGradeWithMarks(availableGradesIndexes: Array<Int>) {
//....
}
用法
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:subjct="@{subject}"
app:availableGradesIndexes="@{availableGradesIndexes}"
tools:layout_height="@dimen/_40sdp" />
我还试过什么
试图将绑定适配器方法的类型声明为IntArray
喜欢fun LinearLayout.bindGradeWithMarks(availableGradesIndexes: IntArray)
还尝试了List<Int>
likefun LinearLayout.bindGradeWithMarks(availableGradesIndexes: List<Int>)
和variable类型List<Int>
还尝试将绑定变量类型设置为Integer
and Integer[]
and alsoList<Integer>
所以问题是如何使用绑定适配器绑定整数列表或数组?!