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