首页 > 解决方案 > 在 Recycleview 中将数据绑定到布局

问题描述

我目前正在 Android Studio 上开发我的第一个应用程序。我想将数据绑定到我在回收视图中膨胀的布局。

这是我的数据类的相关部分:

public class ContactData {
    public String contactName;
.....

这是我的布局 xml 的相关部分:

<layout>
    <data>
        <variable
            name = "Cdata"
            type="com.example.ketchup.ContactData" />
    </data>
    <TextView>
          android:text="@{Cdata.contactName}"
    </TextView>
....

我还创建了一个recycleview 适配器

    public void onBindViewHolder(ViewHolder holder, int position) {
        ContactData contactData = mData.get(position);
        View contactEntry = holder.contactEntry;
    .....

充气一切正常,我只是不明白我应该如何将 ContactData 绑定到布局。

谢谢!

标签: javaandroid-studioandroid-recyclerviewandroid-databinding

解决方案


将此添加到 onBindViewHolder :

holder.bind(contactData);

并将此类添加到您的适配器:

 public static class adapterViewHolder extends RecyclerView.ViewHolder {
        public ListItemBinding listItemBinding;

        public QuViewHolder(ListItemBinding listItemBinding) {
            super(listItemBinding.getRoot());
            this.listItemBinding = listItemBinding;
        }

        public void bind(ContactData obj) {
            listItemBinding.setCdata(obj);
            listItemBinding.executePendingBindings();
        }
    }

推荐阅读