Kotlin inicializando un object

Tengo una class base que estoy ampliando, pero quiero inflar una vista donde estaría el constructor Java normal.

 class TextView(context: Context?) : ViewAbstractClass(context) 

No estoy seguro de cómo hacer esto en Kotlin . ¿Cuáles son las construcciones que hay Kotlin que te permiten hacer una initialization compleja de los objects?

https://kotlinlang.org/docs/reference/classes.html#constructors

 class Customer(name: String) { init { logger.info("Customer initialized with value ${name}") } } 

Hay un par de forms de hacerlo, sin embargo, esto es lo que he estado haciendo en mi aplicación.

 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 } } 

Tenga en count que en realidad no usa () en la firma de class, sino que proporciona todos los constructores de forma explícita.

Puede get más información sobre los constructores secundarios aquí: https://kotlinlang.org/docs/reference/classes.html

  • java.lang.NoClassDefFoundError en Kotlin
  • ¿Cómo inyectar en var en Kotlin?
  • Proveedor de matriz genérica bidimensional
  • Obtén la function por nombre dinámicamente en Kotlin
  • Rx-Kotlin awaitTerminalEvent nunca se sube a Completo
  • Cómo trabajar con Maps en Kotlin
  • ¿Cómo get annotations de una propiedad Kotlin de Java?
  • Uso de elementos HTML estándar en KotlinJS escritos de forma segura
  • no se puede convertir en org.jetbrains.kotlin.java.model.types.JeClassInitializerExecutableTypeMirror
  • Enlace de datos de Android y Kotlin
  • FragmentManager lanza IllegalArgumentException en Kotlin