Android 枚举或带有字符串的密封类
我是否可以在Android 枚举或带有字符串的密封类,android,kotlin,enums,Android,Kotlin,Enums,我是否可以在Kotlin中创建包含字符串资源的enum或密封类 例如,我有一门课: 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") } 如果在构造
Kotlin
中创建包含字符串资源的enum
或密封类
例如,我有一门课:
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
s使用本地化。您不需要资源实例。您可以使用字符串资源,就像您在可绘制文件中所做的那样:
private enum class Item(
val id: Int,
@DrawableRes val imageRes: Int,
@StringRes val title: Int
)
为什么不像你处理图像那样传递@StringRes?@TimCastelijns,请添加你的答案,我会接受。不过我不确定答案是什么。你肯定想到了这个解决办法already@TimCastelijns,也许这对你们来说是显而易见的,但我想的是另一个方向(内部类等等),所以,谢谢,你们暗示了我。请,加上你的答案,我会接受的,让别人学会怎么做。