2

我正在 Kotlin 中创建自定义视图。

对于构造函数,我遵循了此处列出的建议:https ://blog.q42.nl/the-danger-of-assumptions-kotlin-with-android-custom-views-adb79bf2da45

我的问题是,现在 init 块无法识别 attrs 参数,因为它们不在主构造函数中。

我错过了什么吗?

4

1 回答 1

1

只需使用主体制作构造函数并从内部调用初始化属性的函数。

例如:

constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
    attrs?.let { initAttrs(it) }
}

private fun initAttrs(attrs: AttributeSet) {
    ...
}
于 2019-07-28T22:31:30.367 回答