如何使用 android 数据绑定从 RealmList 中获取项目

How to get an item from a RealmList using android databinding

我有一辆汽车 class 是这样实现的:

        public class Car extends RealmObject implements Serializable {
       @SerializedName("car_details")
        @Expose
        private RealmList<CarDetail> carDetails = null;
  public RealmList<CarDetail> getCarDetails() {
        return carDetails;
    }

    public void setCarDetails(RealmList<CarDetail> carDetails) {
        this.carDetails = carDetails;
    }
    }

在我尝试像这样从我的布局访问我的汽车详细信息时:

<TextView
                                                      android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_margin="8dp"
                            android:text="@{car.carDetails.get(0).grade}"
                            android:textAllCaps="true"
                            android:textColor="@color/black"
                            android:textSize="30sp"
                            android:textStyle="bold" />

但是我在编译时遇到错误,有什么关于如何访问列表的建议吗?

我也试过:

android:text="@{car.carDetails[0].grade}"

我收到这样的错误:

error: package me.test.databinding does not exist

无法生成数据绑定 classes

从错误中捕获:

看到你的错误日志截图显示了实际问题

Your error: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for rx.Observable not found

修复:

这可以通过将 RxJava 添加到您的项目或创建一个如下所示的空虚拟文件来解决。

package rx;

public class Observable {
    // Dummy class required for Jackson-Databind support if
   // RxJava is not a project dependency.
}

参考:

, this and this