Android 数据绑定是否支持原始资源?
Does Android data-binding support raw resources?
我目前正在尝试使用新的 Android 数据绑定机制将原始资源的资源 ID 传递给特殊视图。当我尝试这样的事情时
...
app:bufferedSvg="@{ViewModel.headerCollapsed ? @raw/header_expand : @raw/header_collapse}"
...
我收到一个错误 <expr> expected, got '@'
。原始资源存在且无法转换为另一种资源,因为它们包含 SVG 数据。
这是 Android 数据绑定的错误还是这是预期的行为?
至少我同时找到了解决方法。导入 R class:
<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。
我目前正在尝试使用新的 Android 数据绑定机制将原始资源的资源 ID 传递给特殊视图。当我尝试这样的事情时
...
app:bufferedSvg="@{ViewModel.headerCollapsed ? @raw/header_expand : @raw/header_collapse}"
...
我收到一个错误 <expr> expected, got '@'
。原始资源存在且无法转换为另一种资源,因为它们包含 SVG 数据。
这是 Android 数据绑定的错误还是这是预期的行为?
至少我同时找到了解决方法。导入 R class:
<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。