当前位置: 首页 > 知识库问答 >
问题:

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

南宫才英
2023-03-14

我刚刚看完Advanced Data Binding(高级数据绑定)-谷歌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_列表缺少它

编辑:

我在同一个演讲中错过了一个重要的观点...视图ID是骆驼钙化的。

共有1个答案

曾承弼
2023-03-14

绑定过程将您的ID转换为绑定类中的属性,生成的名称将被简化。

您可能需要更改以下行:

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

为此:

android:visibility="@{btnList.visibility}"/>
 类似资料:
  • 所以我得到了两个都在同一activity的视图。我正在使用但是,我无法调用在uiview中定义的公共方法... 我对AndroidStudio还很陌生,我在这里发现的只是不同的类,而不是观点。 非常感谢!

  • Android Studio:3.1.0、3.1.1 分级:4.4 生成工具:3.1.0 我正在使用数据绑定库。当我向project添加布局文件或向布局文件中添加任何视图时,Android Studio无法为布局生成绑定类,直到重新构建项目。 布局文件: 我查看了Android Studio的日志,当布局文件发生变化时,总会有错误消息。

  • 本文向大家介绍Android 在ButterKnife中解除绑定视图,包括了Android 在ButterKnife中解除绑定视图的使用技巧和注意事项,需要的朋友参考一下 示例 片段的视图生命周期与活动不同。在onCreateView中绑定片段时,在onDestroyView中将视图设置为null。当您调用bind为您执行此操作时,Butter Knife会返回Unbinder实例。在适当的生命周

  • 我的布局名称是。我还看到了Android-DataBinding-绑定类将如何和何时生成?但这帮不了我。

  • 如果在编译过程中出现任何错误,则不会生成数据绑定类-因此,我会遇到大量类似这样的错误: 问题是,编译错误与数据绑定根本没有关系,因此我不知道究竟是什么导致了它——我必须手动挖掘文件以找到问题所在。 在上面的示例中,我只是从需要它的构造函数中省略了。在这种情况下,很高兴看到Dagger的错误消息,这样我就可以立即找到它,而不必深入所有项目类手动查找它。 任何帮助都将不胜感激! 两个Android S

  • JRuby Read more here: https://github.com/iconara/mikka. Groovy/Groovy++ Read more here: https://gist.github.com/620439. Clojure Read more here: http://blog.darevay.com/2011/06/clojure-and-akka-a-match