Я получаю следующую ошибку при попытке запуска моего приложения:
Error:Execution failed for task ':app:compileDevelopmentDebugJavaWithJavac'.
> java.lang.RuntimeException: Found data binding errors.
****/ data binding error ****msg:Could not find accessor java.lang.String.giftRecipientName redacted.xml loc:182:63 - 182:93 ****\ data binding error ****
У меня есть объект Order, который выглядит следующим образом:
public class Order {
public Address address;
// unrelated fields and methods
}
Вложенный адресный объект выглядит следующим образом:
public class Address {
public String addressLine1;
public String addressLine2;
public String giftRecipientName;
public Boolean isGift;
}
В моем .xml я делаю следующее:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="order" type="example.redacted.models.Order"/>
</data>
// widgets and whatnot
<TextView
android:id="@+id/gift_recipientTV"
android:layout_column="1"
android:layout_weight="1"
android:layout_width="0dp"
android:textStyle="bold"
android:gravity="right"
android:text='@{order.address.isGift ? order.address.giftRecipientName : "" }'/>
Наконец, в моем фрагменте:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
RedactedBinding dataBinding = DataBindingUtil.inflate(inflater, R.layout.redacted, container, false);
dataBinding.setOrder(_order);
return dataBinding.getRoot();
}