无法在 Android 数据绑定中引用其他视图 ID
Cannot refer to other View ID in Android data binding
我刚看完 Advanced Data Binding - Google I/O 2016 并想应用以下内容来减少我在不同观点中使用的表达的重复。
但我无法让它在我的情况下工作:
<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}"/>
我得到了
Error:(426, 39) Identifiers must have user defined types from the XML
file. btn_list is missing it
编辑:
我在同一个演讲中漏掉了一个重要的点...视图 ID 是驼峰式的。
绑定过程将您的 ID 转换为绑定中的属性 class,生成的名称是驼峰式的。
您可能需要更改以下行:
android:visibility="@{btn_list.visibility}"/>
为此:
android:visibility="@{btnList.visibility}"/>
我刚看完 Advanced Data Binding - Google I/O 2016 并想应用以下内容来减少我在不同观点中使用的表达的重复。
但我无法让它在我的情况下工作:
<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}"/>
我得到了
Error:(426, 39) Identifiers must have user defined types from the XML file. btn_list is missing it
编辑:
我在同一个演讲中漏掉了一个重要的点...视图 ID 是驼峰式的。
绑定过程将您的 ID 转换为绑定中的属性 class,生成的名称是驼峰式的。
您可能需要更改以下行:
android:visibility="@{btn_list.visibility}"/>
为此:
android:visibility="@{btnList.visibility}"/>