我可以在enum
中创建包含字符串资源的sealed class
或Kotlin
吗?
例如,我有这个课程:
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
使用本地化。
答案 0 :(得分:4)
您不需要资源实例。您可以像在可绘制对象上一样使用字符串资源:
private enum class Item(
val id: Int,
@DrawableRes val imageRes: Int,
@StringRes val title: Int
)