Glide показывает ошибку: не удалось найти GeneratedAppGlideModule
Я пытаюсь загрузить изображение с помощью glide, но как-то я не могу загрузить изображение с помощью glide. Как показывает следующая ошибка:
не удалось найти GeneratedAppGlideModule. Вы должны включить зависимость компиляции annotationProcessor от com.на GitHub.bumptech.glide: компилятор в вашем приложении и аннотированная реализация AppGlideModule @GlideModule или LibraryGlideModules будут молча игнорироваться.
у меня сосланный этот решение тоже. Но у меня уже есть обновленная версия glide.
в моем gradle, я добавил
implementation 'com.github.bumptech.glide:glide:4.7.1'
и
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
код
XML
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".view.SettingActivity">
<data>
<variable
name="settingsViewModel"
type="com.sevenbits.android.mvvmsample.viewmodel.SettingsViewModel"/>
</data>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash_bg">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/profile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:background="@color/white"
android:elevation="10dp"
android:orientation="vertical"
android:padding="5dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_margin="10dp"
app:image_url="@{settingsViewModel.imageUrl}"
app:civ_border_width="2dp"
app:civ_border_color="@color/colorPrimary"/>
...
</LinearLayout>
</android.support.constraint.ConstraintLayout>
</ScrollView>
CustomBindingAdapter
public class CustomBindingAdapter {
@BindingAdapter({"bind:image_url"})
public static void loadImage(ImageView imageView, String url) {
RequestOptions requestOptions = new RequestOptions();
requestOptions=requestOptions.placeholder(R.drawable.boy_32);
Glide.with(imageView.getContext())
.load(url)
.apply(requestOptions)
.into(imageView);
}
1 ответов
наконец, я нашел свой ответ здесь.
что я сделал :
Шаг 1
Я создал пустой класс с именем MyGlideApp
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class MyGlideApp extends AppGlideModule {
}
Примечание: не забудьте добавить аннотацию @GlideModule
.
Шаг 2
После этого я строю / перестраиваю проект, а затем заменяю Glide
С GlideApp
.и теперь не нужно использовать RequestOptions
.
public class CustomBindingAdapter {
@BindingAdapter({"bind:image_url"})
public static void loadImage(ImageView imageView, String url) {
// RequestOptions requestOptions = new RequestOptions();
// requestOptions=requestOptions.placeholder(R.drawable.boy_32);
GlideApp.with(imageView.getContext())
.load(url)
.placeholder(R.drawable.boy_32)
.into(imageView);
// Glide.with(imageView.getContext())
// .load(url)
// .apply(requestOptions)
// .into(imageView);
}
}
вот и все.