ViewBinding o vinculación de vista permite acceder fácilmente al contenido de una vista (XML) a través de los ID de los componentes. Antes la manera de hacer esto era a través del mítico findViewById o utilizando kotlin-android-extensions, pero el problema de los dos anteriores es que podías estar vinculando un componente de otra vista que no era la actual y que se produjera un NullPointerException. Con esta nueva forma de acceder a las vistas evitamos ese problema.


Lo primero de todo es habilitar esta característica en el proyecto, por lo que en el build.gradle escribiremos lo siguiente:

O si tenéis alguna versión antigua del gradle se puede activar de la siguiente manera:

Una vez activada la funcionalidad, se creará un archivo de vinculación por cada diseño XML que creemos, pudiendo acceder a los elementos utilizando su ID.

Supongamos que tenemos el siguiente diseño y el XML se llama modal_fragment.xml:

Al crear el XML ahora automaticamente se ha creado una clase con el mismo nombre de la vista pero con la terminacion binding → ModalFragmentBinding. Lo declaramos como una variable lateinit e instanciamos la vista utilizando esta clase y devolvemos la vista creada (root)

Si estamos en una actividad sería exactamente igual:


Una vez que tengamos hecho lo anterior, ya podremos acceder a todos los elementos de la vista que tengan un ID a través de la variable binding que hemos inicializado:

acceso al contenido de la vista