Могу ли я <включить>, только если условие выполнено с помощью DataBinding в Android?
У меня есть макет, который имеет <include>
тег в нем. app:content
передает объект устройства ViewModel
используется в layout/item_device
, Вся эта настройка работает отлично, кроме случаев, когда content.device
нулевой.
<include
android:id="@+id/device"
layout="@layout/item_device"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{content.device != null ? View.VISIBLE : View.GONE}"
app:content="@{content.device}" />
DeviceViewModel
используется в layout/item_device
как показано ниже id
значение присваивается во время строительства, затем ссылка для просмотра. id
это что-то вроде R.id.device
объявлено в values/ids
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:id="@{device.id}">
У меня сейчас проблема в том, content.device
ноль, он все еще будет пытаться найти его id
, Есть ли способ иметь <include>
тег не работает, если device
нулевой? предпочитаю что-то вроде связывания данных, например android:visibility="@{content.device != null ? View.VISIBLE : View.GONE}"
или лучше предложение, пожалуйста