当我尝试招募RecyclerView
错误:(15,22)无法找到属性' app:item'在
android.databinding.ObservableArrayList<com.toong.databindingdemo.recycler.UserViewModel
上使用参数类型android.support.v7.widget.RecyclerView
。
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="usersViewModel"
type="com.toong.databindingdemo.recycler.UsersViewModel" />
</data>
<android.support.v7.widget.RecyclerView
android:id="@+id/activity_users_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:items="@{usersViewModel.users}"
/>
</layout>
但在UsersViewModel
我已有一个公共用户数组
package com.toong.databindingdemo.recycler;
import android.databinding.BaseObservable;
import android.databinding.Bindable;
import android.databinding.ObservableArrayList;
public class UsersViewModel extends BaseObservable{
@Bindable
public ObservableArrayList<UserViewModel> users;
public UsersViewModel()
{
this.users = new ObservableArrayList<>();
}
}
我有清理和重建项目,但它仍然无法正常工作。我该如何解决这个错误?
答案 0 :(得分:6)
app:items
中没有RecyclerView
这样的属性。您需要为该
@BindingAdapter({"bind:items"})
public static void entries(RecyclerView recyclerView, String[] array) {
//write your code to set RecyclerView adapter.
}
将array
的类型更改为您所需的数据类型。