我需要在我的Android应用程序中,以避免每次出现新情况时都必须重复一行,我想在forEach循环中调用此行。
我处在片段中,所以我的view
指向当前视图,在该视图中我无法动态访问属性。
这是我所做的:
val product = arguments!!.getParcelable<Product>(ARG_PRODUCT)!!
listOf("fat", "fat_acids", "salt", "sugar").forEach {
view.get<TextView>(it).text = view.context.getString(
resources.getIdentifier("of_${it}", "string", view.context.packageName),
product.nutriFacts[it].quantityFor100,
product.nutriFacts[it].unit
)
}
然后,Android Studio告诉我,我必须创建一个新的属性访问器,在这种情况下,该操作员是操作员:
private operator fun <T> View.get(property: String): T {
return this[property]
}
但是现在错误是在此精确行上的StackOverflow错误(不是讽刺的):
return this[property]
我该如何实现?