У меня есть 2 ситуации вокруг этой кнопки с некоторыми параметрами, устанавливаемыми привязкой данных, и я обнаружил, что проблема заключается в троичной операции с порядком истинных и ложных результатов.
<Button
android:id="@+id/tbIbArrowBack"
android:layout_width="@dimen/extra_large_size_32"
android:layout_height="@dimen/extra_large_size_32"
android:layout_marginStart="@dimen/activity_default_medium_margin"
android:background="@drawable/ic_arrow_back_white_24dp"
android:onClick="@{() -> manager.onClick()}"
android:visibility="@{manager.showBackButton ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
- этот код не будет копироваться:
android:background="@{manager.backButtonColor == 0 ? manager.backButtonColor: @drawable/ic_arrow_back_white_24dp,default=@drawable/ic_arrow_back_white_24dp}
- этот код компилируется:
android:background="@{manager.backButtonColor != 0 ? @drawable/ic_arrow_back_white_24dp : manager.backButtonColor, default=@drawable/ic_arrow_back_white_24dp}"
элементы 1 и 2 - это то, как я пытался создать настраиваемый фон,Пока @drawable/ic_arrow_back_white_24dp
находится во второй позиции троичной операции, он не будет работать, но пока он находится в первой позиции троичной операции, он будет работать. Может кто-нибудь объяснить мне, почему я не собираюсь?