2016-06-09 21 views
11

Tôi vừa xem xong Advanced Data Binding - Google I/O 2016 và muốn áp dụng những điều sau đây để giảm sự lặp lại biểu thức của tôi được sử dụng trong các chế độ xem khác nhau.Không thể tham chiếu đến ID chế độ xem khác trong ràng buộc dữ liệu Android

enter image description here

Nhưng tôi không thể làm cho nó làm việc trong trường hợp của tôi:

<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}"/> 

và tôi đã nhận

Error:(426, 39) Identifiers must have user defined types from the XML file. btn_list is missing it

Edit:

tôi đã bỏ lỡ một điểm quan trọng trong cùng một cuộc nói chuyện ... ID chế độ xem được gắn hoa lạc.

enter image description here

Trả lời

16

Quá trình ràng buộc chuyển đổi ID của bạn để thuộc tính trong lớp học ràng buộc, và những cái tên được tạo ra là lạc đà-casified.

Bạn có thể cần phải thay đổi dòng sau:

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

Để này:

android:visibility="@{btnList.visibility}"/> 
Các vấn đề liên quan