【发布时间】:2019-03-05 15:09:00
【问题描述】:
我可以在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 的字符串资源。在这种情况下,我不能对enums 使用本地化。
【问题讨论】:
-
为什么不像处理图像那样传递@StringRes?
-
@TimCastelijns,请添加您的答案,我会接受。
-
我不确定答案如何。你肯定已经想到了这个解决方案
-
@TimCastelijns,也许这对你来说很明显,但我认为其他方向(内部课程等),所以,谢谢,你暗示了我。请添加您的答案,我会接受,以便其他人学习如何做。