如何在数据 class Kotlin 中的伴随对象中获取上下文?
How do I get context inside a companion object that is inside a data class Kotlin?
我正在尝试在数据 class 内的伴生对象内使用资源字符串。但我不知道如何在 Kotlin 中获取上下文。
有人知道怎么做吗?
data class PhoneCall(
val type: String,
val code: String,
val description: String){
companion object{
const val SOLUTION_NO_SOLUTION = "NO_SOLUTION"
const val SOLUTION_TOMORROW = "71_INAT"
const val SOLUTION_TODAY = "72_INAT"
val solutions = listOf(
PhoneCall(Service.Traffic.PICK_UP, SOLUTION_NO_SOLUTION, Resources.getSystem().getString(R.string.makeService))
)
}
我需要在 3 参数中使用资源字符串,但无法获取上下文。
您可以修改 PhoneCall
模型以存储字符串资源 ID 而不是实际字符串。
data class PhoneCall(
val type: String,
val code: String,
@StringRes val description: Int
) {
companion object {
const val SOLUTION_NO_SOLUTION = "NO_SOLUTION"
const val SOLUTION_TOMORROW = "71_INAT"
const val SOLUTION_TODAY = "72_INAT"
val solutions = listOf(
PhoneCall(Service.Traffic.PICK_UP, SOLUTION_NO_SOLUTION, R.string.makeService)
)
}
}
然后,当您需要在 UI(例如 TextView)中显示此数据时,您可以从资源 ID 中获取字符串。
descriptionTextView.text = getString(phoneCall.description)
我正在尝试在数据 class 内的伴生对象内使用资源字符串。但我不知道如何在 Kotlin 中获取上下文。 有人知道怎么做吗?
data class PhoneCall(
val type: String,
val code: String,
val description: String){
companion object{
const val SOLUTION_NO_SOLUTION = "NO_SOLUTION"
const val SOLUTION_TOMORROW = "71_INAT"
const val SOLUTION_TODAY = "72_INAT"
val solutions = listOf(
PhoneCall(Service.Traffic.PICK_UP, SOLUTION_NO_SOLUTION, Resources.getSystem().getString(R.string.makeService))
)
}
我需要在 3 参数中使用资源字符串,但无法获取上下文。
您可以修改 PhoneCall
模型以存储字符串资源 ID 而不是实际字符串。
data class PhoneCall(
val type: String,
val code: String,
@StringRes val description: Int
) {
companion object {
const val SOLUTION_NO_SOLUTION = "NO_SOLUTION"
const val SOLUTION_TOMORROW = "71_INAT"
const val SOLUTION_TODAY = "72_INAT"
val solutions = listOf(
PhoneCall(Service.Traffic.PICK_UP, SOLUTION_NO_SOLUTION, R.string.makeService)
)
}
}
然后,当您需要在 UI(例如 TextView)中显示此数据时,您可以从资源 ID 中获取字符串。
descriptionTextView.text = getString(phoneCall.description)