问题描述
我正在尝试根据其类型将 Item 的名称显示到 TextView 中。我有一个布局文件,我在其中添加了这些数据:
<data class="ItemDataBinding">
<variable
name="item"
type="com.example.Item" />
</data>
这是 Item
类:
data class Item(
var name: String? = null,var type: String? = null
) {
fun getTextSize(item: Item): Int {
return when(item.type) {
"new" -> R.dimen.new_size
"old" -> R.dimen.old_size
}
}
}
这里是 dimens.XML 文件:
<resources>
<dimen name="new_size">25sp</dimen>
<dimen name="old_size">20sp</dimen>
</resources>
现在,在布局文件中,我尝试使用以下方法设置 textSize:
android:textSize="@{item.getTextSize(item)}"
android:text="@{item.name}"
根据其类型返回 R.dimen.new_size
或 R.dimen.old_size
,但文本为空白。如果我改为:
android:textSize="@dimen/old_size"
它工作正常。如何根据类型获取正确的尺寸并将其设置为TextView?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)