Я новичок с библиотекой привязки данных Android.
У меня есть куча предупреждений, таких как:
warning: viewModel.someBoolean.getValue() is a boxed field but needs to be un-boxed to execute android:checked. This may cause NPE so Data Binding will safely unbox it. You can change the expression and explicitly wrap viewModel.someBoolean.getValue() with safeUnbox() to prevent the warning
Это определяется следующим образом:
В ViewModel
val someBoolean: MutableLiveData<Boolean> = MutableLiveData()
В макете
<RadioButton
android:id="@+id/someBooleanRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="@={viewModel.someBoolean}"
android:text="@string/boolean_description" />
Я попытался исправить это, добавив safeUnbox ():
<RadioButton
android:id="@+id/someBooleanRadioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checked="@={safeUnbox(viewModel.someBoolean)}"
android:text="@string/boolean_description" />
Но я получаю ошибку компиляции:
msg:cannot find method safeUnbox(java.lang.Boolean) in class android.databinding.ViewDataBinding
В граде уже определено
dataBinding {
enabled = true
}
и kapt 'com.android.databinding:compiler:3.1.4'
Есть мысли как это исправить?
Android Studio 3.1.4
Gradle 4.4
Котлин 1.2.61
P.S. только что получил дубликат на вопрос. Все вопросы о том, как исправить предупреждение, но мой вопрос, как исправить ошибку компиляции при добавлении safeUnbox()