我可以在 Kotlin
中创建包含字符串资源的 enum
或 sealed class
吗?
例如,我有这个类:
private enum class Item(
val id: Int,
@DrawableRes val imageRes: Int,
val title: String
) {
PURSE(1, R.drawable.ic_card, "My balance"),
MESSAGES(2, R.drawable.ic_bell, "Messages")
}
如果我在构造函数中添加一个字段val resources: Resources
,我无法设置参数resources
,因此无法使用strings.xml<中的字符串资源
。在这种情况下,我不能对 enum
使用本地化。
最佳答案
您不需要 Resources 实例。您可以使用字符串资源,就像您对可绘制对象所做的那样:
private enum class Item(
val id: Int,
@DrawableRes val imageRes: Int,
@StringRes val title: Int
)
关于android - 带有字符串的枚举或密封类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005884/