如何获取正确的尺寸从尺寸文件并将其设置为 Android 中的 TextView?

问题描述

我正在尝试根据其类型将 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_sizeR.dimen.old_size,但文本为空白。如果我改为:

android:textSize="@dimen/old_size"

它工作正常。如何根据类型获取正确的尺寸并将其设置为TextView?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...