【问题标题】:Cannot refer to other View ID in Android data bindingAndroid数据绑定中不能引用其他View ID
【发布时间】:2016-10-10 04:52:48
【问题描述】:

我刚刚看完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}"/>

我得到了

错误:(426, 39) 标识符必须具有来自 XML 的用户定义类型 文件。 btn_list 不见了

编辑:

我错过了同一个演讲中的一个重要点...... View ID 是驼峰式的。

【问题讨论】:

    标签: android android-databinding


    【解决方案1】:

    绑定过程将您的 ID 转换为绑定类中的属性,并且生成的名称是驼峰式的。

    您可能需要更改以下行:

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

    到这里:

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

    【讨论】:

    • 哇,这不是我很容易猜到的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2020-01-15
    • 2020-09-15
    • 1970-01-01
    • 2015-10-04
    • 2021-04-08
    相关资源
    最近更新 更多