Передача строки из DataBinding в атрибут пользовательского представления xml - PullRequest
0 голосов
/ 04 июля 2019

У меня есть ситуация, когда я хочу передать строку в атрибут пользовательского представления, но он не работает, если не передать только ссылку.

Рабочая:

......
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 голосов
/ 04 июля 2019

Поскольку вы использовали "@ {...}", я полагаю, что Android автоматически попытается использовать привязку данных к нему и ищет соответствующий пользовательский BindingAdapter.

Вы можете определить что-то подобное и посмотреть,это работает:

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