无法在Android数据绑定中引用其他View ID

Dav*_*ung 22 android android-databinding

我刚刚观看了高级数据绑定 - 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}"/>
Run Code Online (Sandbox Code Playgroud)

我得到了

错误:(426,39)标识符必须具有XML文件中的用户定义类型.btn_list缺少它

编辑:

我在同一个谈话中错过了一个重要的观点...视图ID是骆驼式的.

在此输入图像描述

ear*_*jim 37

绑定过程将您的ID转换为绑定类中的属性,并且生成的名称是camel-casified.

您可能需要更改以下行:

android:visibility="@{btn_list.visibility}"/>
Run Code Online (Sandbox Code Playgroud)

对此:

android:visibility="@{btnList.visibility}"/>
Run Code Online (Sandbox Code Playgroud)