无法在 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}"/>