Получение ошибки "несовместимо с атрибутом tint (attr) color." при использовании привязки данных - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь установить оттенок цвета на изображении во время выполнения, используя привязку данных

    <ImageView
        android:id="@+id/txtAppointmentEnable"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src='@{paymentMethod.getActiveStatus().equalsIgnoreCase("DISABLE") ?  @drawable/ic_action_navigation_close : @drawable/ic_add_white_36dp}'
        android:tint='@{paymentMethod.getActiveStatus().equalsIgnoreCase("DISABLE") ?  @color/favourite_red : @color/green_light'/>

Я получаю сообщение об ошибке

 error: '@{paymentMethod.getActiveStatus().equalsIgnoreCase("DISABLE") ?  @color/favourite_red : @color/green_light' is incompatible with attribute tint (attr) color.

Какое вероятное решение этой проблемы.

1 Ответ

0 голосов
/ 23 января 2019

Привязка данных не допускает двойные кавычки. Используйте обратную кавычку (`) вместо". Я также добавил}, наконец.

<ImageView
        android:id="@+id/txtAppointmentEnable"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src='@{paymentMethod.getActiveStatus().equalsIgnoreCase(`DISABLE`) ?  @drawable/ic_action_navigation_close : @drawable/ic_add_white_36dp}'
        android:tint='@{paymentMethod.getActiveStatus().equalsIgnoreCase(`DISABLE`) ?  @color/favourite_red : @color/green_light'}/>
...