为什么Glide仅第二次加载图像? (机器人)

时间:2018-04-18 04:48:25

标签: android android-layout android-recyclerview android-glide

我正在使用适配器来显示个人资料图标列表。我正在使用滑动来显示图像。但问题是,它会加载默认配置文件,而不是第一次从响应中加载URL。

当我转到上一页并第二次来到页面时,它会加载网址。

代码:

@Override
public void onBindViewHolder(RetailerStatusViewHolder holder, int position) {

    if(retailerList.getImgUrl()!=null){
      Glide.with(context) 
            .load(retailerList.getImgUrl())
            .placeholder(R.drawable.ic_default_profile)
            .error(R.drawable.ic_default_profile)
            .into(((holder.circleImageView)));
    }
}

我尝试过给context.getApplicationContext(),但静止图片只是第二次加载

摇篮:

compile 'com.github.bumptech.glide:glide:3.8.0'

XML:

<com.customviews.CircleImageView
    android:id="@+id/recycle_profile"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_gravity="center"
    android:layout_marginLeft="16dp"
    android:src="@drawable/ic_default_profile"/>

1 个答案:

答案 0 :(得分:0)

试试这个:

XML代码:

<set xmlns:android="http://schemas.android.com/apk/res/android">

<alpha
    android:duration="800"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toAlpha="1.0"/>

Java类:

public static void loadImage(final Activity context, ImageView imageView, String url, int placeHolderUrl, int errorImageUrl) {
    if (context == null || context.isDestroyed()) return;

    //placeHolderUrl=R.drawable.ic_user;
    //errorImageUrl=R.drawable.ic_error;
    Glide.with(context) //passing context 
            .load(getFullUrl(url)) //passing your url to load image.
            .placeholder(placeHolderUrl) //this would be your default image (like default profile or logo etc). it would be loaded at initial time and it will replace with your loaded image once glide successfully load image using url.
            .error(errorImageUrl)//in case of any glide exception or not able to download then this image will be appear . if you won't mention this error() then nothing to worry placeHolder image would be remain as it is.
            .diskCacheStrategy(DiskCacheStrategy.ALL) //using to load into cache then second time it will load fast.
            .animate(R.anim.fade_in) // when image (url) will be loaded by glide then this face in animation help to replace url image in the place of placeHolder (default) image.
            .fitCenter()//this method help to fit image into center of your ImageView 
            .into(imageView); //pass imageView reference to appear the image.
}

在您的活动中添加以下内容:

Utils.loadImage(YourClassName.this,mImageView,url,R.drawable.ic_user,R.drawable.ic_error);

片段:

Utils.loadImage(getActivity,mImageView,url,R.drawable.ic_user,R.drawable.ic_error);

我认为它可以帮助你