在 Kotlin 中,有没有办法在一些操作后初始化超类?



这可能是非常基本的,但我似乎找不到用生成的值初始化超类的方法。 例如,我想膨胀一个视图,然后将其传递给超类RecyclerView.ViewHolder。

在 Swift 中,我会做这样的事情:

class CustomViewHolder: RecyclerView.ViewHolder {
init(json: JSON) {
let view = getView(json)
super.init(view)
}
}

在 Kotlin 中有类似的方法吗?还是我必须将视图放在外面,然后将其传递给 CustomViewHolder 和 RecyclerView.ViewHolder?

你可以从配套对象调用一个函数:

class CustomViewHolder(json: JSON) : RecyclerView.ViewHolder(getView(json)) {
companion object {
private fun getView(json: JSON): View {
//...
}
}
}

最新更新