要列出的数据 Class 参数 - Kotlin android
Data Class Parameters to List - Kotlin android
我有一个 Kotlin 数据 class,大约有 37 attributes/parameters。我想将所有这些参数的值放入一个列表中。我怎样才能以干净、最小和高效的方式做到这一点?我试过搜索,但还没有遇到任何类似的东西。
如有任何帮助,我们将不胜感激。谢谢
编辑
每个attributes/parameters都是一个字符串。我在 Android 中将每个字符串加载到它自己的 TextView 中(是的,TableLayout 中的 37 个 TextView,每个都有自己的标签。收据的样子)。但我不想这样做 (textView.text = myClass.parameter
) 37 次。
使用反射的解决方案
包含 kotlin-reflect
// Gradle Groovy DLS
implementation "org.jetbrains.kotlin:kotlin-reflect:${kotlin_version}"
// Gradle Kotlin DLS
implementation(kotlin("reflect"))
假设如下情况
data class DataClass(val a: String, val b: String, val c: String, val d: String, val e: String)
val instance = DataClass("A", "B", "C", "D", "E")
DataClass::class.memberProperties.forEach { member ->
val name = member.name
val value = member.get(instance) as String
findTextViewByName(name).text = value
}
findTextViewByName
功能由你来实现
我有一个 Kotlin 数据 class,大约有 37 attributes/parameters。我想将所有这些参数的值放入一个列表中。我怎样才能以干净、最小和高效的方式做到这一点?我试过搜索,但还没有遇到任何类似的东西。
如有任何帮助,我们将不胜感激。谢谢
编辑
每个attributes/parameters都是一个字符串。我在 Android 中将每个字符串加载到它自己的 TextView 中(是的,TableLayout 中的 37 个 TextView,每个都有自己的标签。收据的样子)。但我不想这样做 (textView.text = myClass.parameter
) 37 次。
使用反射的解决方案
包含 kotlin-reflect
// Gradle Groovy DLS
implementation "org.jetbrains.kotlin:kotlin-reflect:${kotlin_version}"
// Gradle Kotlin DLS
implementation(kotlin("reflect"))
假设如下情况
data class DataClass(val a: String, val b: String, val c: String, val d: String, val e: String)
val instance = DataClass("A", "B", "C", "D", "E")
DataClass::class.memberProperties.forEach { member ->
val name = member.name
val value = member.get(instance) as String
findTextViewByName(name).text = value
}
findTextViewByName
功能由你来实现