Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 枚举或带有字符串的密封类_Android_Kotlin_Enums - Fatal编程技术网

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,也许这对你们来说是显而易见的,但我想的是另一个方向(内部类等等),所以,谢谢,你们暗示了我。请,加上你的答案,我会接受的,让别人学会怎么做。