你如何引用第二层"它"从第三层开始而不创建新的val / var?我知道你可以做val mydata =它然后做mydata.id.toString()我只是想知道Kotlin中有什么东西可以让我从更高的层次引用它吗?
npm install
答案 0 :(得分:6)
不,it
符号始终引用最内层的隐式单个lambda参数。
要解决此问题,并提高代码可读性,请在每次使用参数嵌套lambda时使用named lambda parameters,如Coding conventions中所述:
data.arrayresults.forEach { result ->
result.myData.let { myData ->
val itemView - inflater.inflate(R.layout.somelayout)
itemView.setOnClickListener(View.OnClickListener { view ->
// the it references the view but I want it to reference the result.myData
SomeActivity.startActivity(context, myData.id.toString())
})
}
}