jetpack ejemplo databinding data compiler android android-databinding

ejemplo - databinding compiler android



No se puede hacer referencia a otra ID de vista en el enlace de datos de Android (1)

Acabo de terminar de ver el Enlace de datos avanzado: Google I / O 2016 y me gustaría aplicar lo siguiente para reducir la repetición de mi expresión utilizada en diferentes vistas.

Pero no puedo hacer que funcione en mi caso:

<ImageButton android:id="@+id/btn_list" android:layout_width="48dp" android:layout_height="48dp" android:layout_gravity="start" android:background="@drawable/btn_s01_list" android:visibility="@{bean.shouldHideControls? View.GONE: View.VISIBLE}"/> <ToggleButton android:id="@+id/btn_radar" android:layout_width="48dp" android:layout_height="48dp" android:background="@drawable/btn_radar_selector" android:checked="false" android:gravity="end" android:text="" android:textOff="" android:textOn="" android:visibility="@{btn_list.visibility}"/>

y tengo

Error: (426, 39) Los identificadores deben tener tipos definidos por el usuario del archivo XML. btn_list lo falta

Editar:

Me perdí un punto importante en la misma charla ... Las ID de las vistas están camadas.


El proceso de enlace convierte sus ID en propiedades en la clase de enlace, y los nombres generados están camelizados.

Es posible que necesite cambiar la siguiente línea:

android:visibility="@{btn_list.visibility}"/>

A esto:

android:visibility="@{btnList.visibility}"/>