Uyarı: selectMap [index] bir kutulu alandır ancak un-kutulu gerekiyor selectMap [index] çalıştırılsın mı? @android: color/white: @android: renk/saydam. Bu, NPE'ye neden olabilir, bu nedenle Veri Bağlama, güvenli bir şekilde paketinden çıkarır. Sen ifadeyi değiştirmek açıkça selectMap bir ObservableMap olan
uyarısını engellemek için safeUnbox ile selectMap [index]() sarmak, sonra ben bu uyarıyı arama ancak sadece birkaç tartışmalar var ve ona
sorunu çözmedi Android Studio 2.3.0-alpha1: Databinding + int unboxing causes compile errors
Databinding - data object is null on API 15-18
Ben safeUnbox(selectMap[index])
için selectMap[index]
değiştirmek bağlantıları yolunu izleyin ama sözdizimi hatası var.
Bu uyarı nasıl düzeltileceğini bilen var mı?
Düzenleme
: Burada xml dosyası kodunu<?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>
Yapı başarılı olmakla birlikte, (i yukarıda geçmiş) çıkıp uyarıdır.
<variable
name="readOnly"
type="Boolean" />
için: Nereden
:
<variable
name="readOnly"
type="boolean" />
soru size kodudur çalışacak? – pskink