为什么我的 gif 仅在我单击 ImageView 时加载?

Why my gif only loads if i click in the ImageView?

我遇到的问题是 gif 仅在我单击图像时加载。我制作了一个构建视图的 ViewHolderCreator class。有一个方法 onCreateViewHolder 会告诉它是哪种类型 is.There 是各种类型。这是 class:

中的列表
private final int CI_IMAGE = 1;
private final int CI_IMAGE_AND_TEXT = 2;
private final int CI_TEXT = 4;
private final int CI_VIDEO_RIGHT = 5;
private final int CI_PRODUCT = 6;
private final int CI_TEXT_AND_IMAGE = 7;
private final int CI_VIDEO_LEFT = 8;
private final int CI_IMAGE_SQUARED = 9;
private final int CI_IMAGE_THREE_BY_ONE = 10;

我想要的特定 gif 是 CI_IMAGE 并且在代码中它将实例化 class CIImageViewHolder

这是 CIImageViewHolder class:

public class CIImageViewHolder extends ContentViewHolder {

    @Nullable
    @BindView(R.id.image)
    ImageView imageView;

    @Nullable
    private BitmapImageViewTarget imageTarget;

    public CIImageViewHolder(@NonNull View view) {
        super(view);
        ButterKnife.bind(this, view);
        imageTarget = new BitmapImageViewTarget(imageView);
    }

    @Override
    public void refreshView(Content content, boolean vertical, boolean isUnicorn) {
        final ContentInfusion contentInfusion = content.getContent();
        imageView.setImageBitmap(null);
        Image image = contentInfusion.getImage();

        if (image != null) {
            Glide.with(mContext).asBitmap().load(image.getUrl())
                    .transition(new GenericTransitionOptions<>().transition(R.anim.quick_fade_in)).into(imageTarget);
            imageView.setVisibility(View.VISIBLE);
        } else {
            imageView.setVisibility(View.INVISIBLE);
        }
    }
}

试试这个 gif

          Glide.with(mContext)
                .asGif()
                .load(image.getUrl())
                .transition(new GenericTransitionOptions<>().transition(R.anim.quick_fade_in))
                .into(imageView);

Gradle 版本:

implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'