将字符串从DataBinding传递到自定义视图xml属性

时间:2019-07-04 13:59:57

标签: android android-databinding declare-styleable

我遇到了将字符串传递到自定义视图属性的情况,但是如果不传递引用,则无法正常工作。

工作:

......
app:title="sa"
app:title="@string/winning_title"
......

不起作用:

  <data>

        <variable
            name="title"
            type="String" />
    </data>
......

   app:title="@{title}"

可样式化:

   <declare-styleable name="CollapsibleRecyclerView">
        <attr name="title" format="string"/>
        <attr name="separatorsColor" format="color"/>
        <attr name="animationDuration" format="integer"/>
    </declare-styleable>

有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

自从您使用“ @ {...}”以来,我相信Android会自动尝试在其上使用数据绑定并寻找相应的自定义BindingAdapter。

您可以定义类似这样的东西,看看它是否有效:

@BindingAdapter("app:title")
public static void setPaddingLeft(YourView view, String text) {
  view.doSomething(text);
}