Подтвердить что ты не робот

Невозможно ссылаться на другой идентификатор вида в привязке данных Android

Я только что закончил просмотр 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 отсутствует

Edit:

Я пропустил важный момент в одном разговоре... Идентификаторы View вернулись на верблюдах.

введите описание изображения здесь

4b9b3361

Ответ 1

Процесс привязки преобразует ваши идентификаторы в свойства в классе привязки, а сгенерированные имена привязаны к верблюду.

Вам может потребоваться изменить следующую строку:

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

Для этого:

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