Kotlin初始化一个对象
我有一个基类,我正在扩展,但想膨胀一个普通的Java
构造函数将视图。
class TextView(context: Context?) : ViewAbstractClass(context)
我不知道如何在Kotlin
做到这一点。 Kotlin
有什么构造可以让你对对象进行复杂的初始化?
https://kotlinlang.org/docs/reference/classes.html#constructors
class Customer(name: String) { init { logger.info("Customer initialized with value ${name}") } }
有几个方法可以完成,但这是我一直在我的应用程序正在做的。
class TextView : ViewAbstractClass { constructor(context: Context) : super(context) constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) { // custom init code for this constructor. } constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) init { // Common init code } }
请注意,您实际上并没有在类签名中使用()
,而是明确地提供了所有的构造函数。
你可以在这里了解更多关于二级构造函数的信息: https : //kotlinlang.org/docs/reference/classes.html
- 卡普gradle任务例外:类转换exception
- Kotlin Custom View类实现了一个无法在`:app:compileDebugKotlinAfterJava`中解析的接口。 相同的Java版本正常工作
- 是否有可能通过intent-filter和broadcastreciever获取剪贴板管理器?
- 在kotlin中片段实例化
- 使用@PrimaryKey初始化Realm对象0(零)在第二个对象上失败
- 建设失败Kotlin kapt和房间
- 如何在库中使用Realm
- Kotlin:如何使用List转换:未选中Cast:kotlin.collections.List <Kotlin.Any?>转换为kotlin.colletions.List <Waypoint>
- 从SD卡中选择图像,调整图像大小并将其保存回SD卡