к переменной-предупреждению это предупреждение исчезнет, ​​и оно все равно будет работать хорошо

обновления версии AS gradle до 2.3.0 при привязке данных появляется предупреждение:

Предупреждение: selectMap [index] - это поле в штучной упаковке, но его необходимо распаковать для выполнения selectMap [index]? @android: цвет / белый: @android: цвет / прозрачный. Это может вызвать NPE, поэтому Data Binding безопасно распакует его. Вы можете изменить выражение и явно обернуть selectMap [index] с safeUnbox (), чтобы предотвратить предупреждение

selectMap - ObservableMap, тогда я ищу это предупреждение, но получил всего несколько обсуждений и не исправил

Android Studio 2.3.0-alpha1: привязка данных + int unboxing вызывает ошибки компиляции

Привязка данных - объект данных является нулевым по API 15-18

Я следую по пути в ссылках, модифицируюselectMap[index] вsafeUnbox(selectMap[index]) но получил синтаксическую ошибку.

Так кто-нибудь знает, как исправить это предупреждение?

Изменить: вот код файла XML

<?xml version="1.0" encoding="utf-8"?>

<data class="SupportCountryViewHolderBinding">

    <variable
        name="viewModel"
        type="com.goodarc.care_about.activity.account.support_country.SupportCountryHolderViewModel" />

    <variable
        name="dataSource"
        type="com.goodarc.care_about.module.assets_file.SupportCountry" />

    <variable
        name="selectMap"
        type="android.databinding.ObservableMap&lt;Integer, Boolean&gt;" />

    <variable
        name="index"
        type="int" />
</data>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@{selectMap[index] ? @android:color/white : @android:color/transparent}"
    android:onClick="@{(v) -> viewModel.onItemSelectListener(selectMap, index)}"
    android:orientation="vertical"
    android:padding="20dp">

    <TextView
        style="@style/TitleLabel2"
        android:layout_gravity="center_vertical|start"
        android:text="@{dataSource.display}"
        android:textColor="@{selectMap[index] ? @android:color/black : @android:color/white}"
        tools:text="Taiwan (+886)" />
</LinearLayout>

Построение выполнено успешно, но вышло предупреждение (я прошёл выше).

Ответы на вопрос(7)

Ваш ответ на вопрос