2016-06-09 24 views
11

我刚看完Advanced Data Binding - Google I/O 2016,并希望应用以下内容来减少我在不同视图中使用的表达式的重复次数。无法引用Android数据绑定中的其他视图ID

enter image description here

但我不能让它在我的情况下工作:

<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被骆驼化了。

enter image description here

回答

16

的结合过程中你的ID转换为属性的绑定类,而生成的名字是骆驼casified。

您可能需要更改以下行:

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

要这样:

android:visibility="@{btnList.visibility}"/> 
相关问题