【发布时间】:2016-01-30 04:37:24
【问题描述】:
我应该能够在 Android dataBinding 中使用@BindingAdapter,以便我可以覆盖某个属性。我可以使用自定义属性来做到这一点,但是使用 android 内置属性它是如何完成的?
到目前为止我所拥有的: 在我的 viewModel 中,我有一个用 @BindingAdapter 注释的方法,如下所示:
@BindingAdapter({"android:text"})
public static void setText(Button view,boolean language) {//i need to pass one more variable in here for area code , its just a integer, but how ?
if("french".equals(language))//i want to test if french && area code
view.setText("si vous play");
else if ("English".equals(language)) //i want to test if french && area code
view.setText("please");
}
但我有一些问题。让我们看看xml:
<Button
android:id="@+id/mybutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{`french,844`}"/>
查看我的问题,我想将多个参数传递给 dataBinding。但是如何?我必须制作一个 POJO 对象并将其传入吗?即使我这样做了,我如何从 xml 设置对象?
所以如果有人能告诉我以下我会很好: 1. 如何将多个值传递给 bindingAdapter 和 2. 如何在任何视图中覆盖一个内置的android属性。
【问题讨论】:
-
顺便说一句,“请”是“s'il vous plait”而不是“si vous play”:)
标签: android xml data-binding