Esta extensión de Kotlin para Android es sencilla, poderosa y limpia.
En este ejemplo vemos la forma de asignar una acción a un botón mediante Java en la forma «tradicional» y la nueva manera mediante las Kotlin Android Extensions, que nos facilita la legibilidad, y sencillez a la hora de implementarlo.
Lo primero es importar el paquete kotlinx con el layout / activity correspondiente:
import kotlinx.android.synthetic.main.activity_kotlin_android_extensions.* //<-Cargamos all lo que hay en el layout que ponemos
En este ejemplo vemos que nos tendremos que hacer el findViewById ni casteos nunca más. Podremos llamar al botón directamente con el mismo nombre con el que lo tenemos asignado en la Id.
Con las Kotlin Extension se carga todo el layout pudiendo acceder a todos los elementos de la vista.
import kotlinx.android.synthetic.main.activity_kotlin_android_extensions.* //Cargamos todo lo que hay en el layout que ponemos class KotlinAndroidExtensionsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_kotlin_android_extensions) //Java val btn = findViewById<Button>(R.id.buttonById) btn.setOnClickListener { Toast.makeText(this,"Click By Id",Toast.LENGTH_SHORT).show() } //Kotlin Android Extensions buttonByKAT.setOnClickListener { Toast.makeText(this,"Click By KAT",Toast.LENGTH_SHORT).show() } } }