Я пробую новую библиотеку Android x, которая заменила старую библиотеку appCompat в Android.И я столкнулся с одной проблемой.Я хочу загрузить изображение в программу recyclerView и для этого я хочу использовать привязку данных.Вот мой код
<androidx.appcompat.widget.AppCompatImageView
app:loadImageFromNetwork="@{car.model.photoUrl}" <- here I'm using binding class
android:id="@+id/appCompatImageView"
android:layout_width="170dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
и вот мой класс привязки
import androidx.appcompat.widget.AppCompatImageView
import androidx.databinding.BindingAdapter
import com.bumptech.glide.Glide
object Bindings {
@JvmStatic
@BindingAdapter("loadImageFromNetwork")
fun loadImageFromNetwork(imageView: AppCompatImageView, url: String) {
Glide.with(imageView.context).load(url).into(imageView)
}
}
И я получаю эту ошибку
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Cannot find the setter for attribute 'app:loadImageFromNetwork' with parameter type java.lang.String on android.widget.ImageView.
file:S:\Downloads\ppp\MyApplication\app\src\main\res\layout\car_item_view.xml
loc:26:44 - 26:61
****\ data binding error ****
Есть идеи, что случилось?
РЕДАКТИРОВАТЬ У меня также есть это в моем gradle.properties
файле
android.useAndroidX=true
android.enableJetifier=true
Вот мой класс автомобилей
data class Car(val id: Int, val plateNumber: String, val location: Location, val model: Model)
data class Model(val id: Int, val title: String, val photoUrl: String)