enlace de datos - advertencia SafeUnbox
después de actualizar la versión AS gradle a 2.3.0, el enlace de datos encuentra una advertencia:
Advertencia: selectMap [index] es un campo encuadrado pero debe estar sin encuadrar para ejecutar selectMap [index]. @android: color / blanco: @android: color / transparente. Esto puede causar NPE, por lo que el enlace de datos lo desempaquetará de manera segura. Puede cambiar la expresión y envolver explícitamente selectMap [index] con safeUnbox () para evitar la advertencia
selectMap es un ObservableMap, luego busco esta advertencia pero solo tuve algunas discusiones y no la solucioné
Android Studio 2.3.0-alpha1: Databinding + int unboxing provoca errores de compilación
Enlace de datos: el objeto de datos es nulo en la API 15-18
Sigo el camino en los enlaces, modificoselectMap[index]
asafeUnbox(selectMap[index])
pero tiene un error de sintaxis.
¿Alguien sabe cómo solucionar esta advertencia?
Editar: Aquí está el código del archivo 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<Integer, Boolean>" />
<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>
La construcción es exitosa, pero sale una advertencia (ya he mencionado más arriba).