Android数据绑定是否支持原始资源?

时间:2016-02-03 17:13:09

标签: android android-databinding

我目前正在尝试使用新的Android数据绑定机制将原始资源的资源ID传递给特殊的View。当我尝试这样的事情时

...
    app:bufferedSvg="@{ViewModel.headerCollapsed ? @raw/header_expand : @raw/header_collapse}"
...

我收到错误<expr> expected, got '@'。原始资源存在,不能转换为另一种资源,因为它们包含SVG数据。

这是Android数据绑定的错误还是这种预期的行为?

1 个答案:

答案 0 :(得分:1)

至少我找到了解决方法。导入R类:

<data>
    <import type="com.yourdomain.R"/>
    <variable name="ViewModel" type="com.yourdomain.ViewModel"/>
</data>

...

<com.yourdomain.yourview

    ...

    app:bufferedSvg="@{ViewModel.yourchoice ? R.raw.raw_resource1 : R.raw.raw_resource2}"

    ...

/>

希望这可以帮助遇到同样问题的人。仍然想知道是否计划支持原始资源的@ -notation。