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

  • ¿Cómo replace el doAsync de Anko, uiThread con las funciones de kotlin 1.1.0 kotlinx-coroutines-core lib?
  • Explicación de @Configuration @AutoConfigureAfter con Kotlin
  • Referencia al setter de properties de la class Kotlin como function
  • Referencia no resuelta: kotlinx
  • Cómo agregar la dependencia RecyclerView - gradle 3
  • ¿Cómo hacer que el argumento sea pnetworkingeterminado?
  • acceso al método de extensión kotlin en otro kt
  • No se puede instalar el gradle para android studio 3.0
  • Cómo hacer que Kotlin deje de lanzar el argumento a la class incorrecta (Interfaz)
  • ¿Puedes usar un object que está sincronizado como un candado
  • ¿Por qué puedo definir una var sin una class en Kotlin?