Android 我使用Glide从url加载gif图像,但它一直在循环

Android 我使用Glide从url加载gif图像,但它一直在循环,android,kotlin,gif,android-glide,Android,Kotlin,Gif,Android Glide,我使用Glide从url加载gif文件,但它一直在循环。 是否可以设置循环计数器,例如仅播放动画1次。添加RequestListener,以下是示例代码 Glide.with(<context>) .load(uri.toString()) .listener(new RequestListener<Drawable>() { @Override

我使用Glide从url加载gif文件,但它一直在循环。
是否可以设置循环计数器,例如仅播放动画1次。

添加
RequestListener
,以下是示例代码

Glide.with(<context>)
                .load(uri.toString())
                .listener(new RequestListener<Drawable>() {
                    @Override
                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                        if (resource instanceof GifDrawable) {
                            ((GifDrawable) resource).setLoopCount(1);
                        }
                        return false;
                    }
                })
                .into(<your imageview>);
Glide.with()
.load(uri.toString())
.listener(新的RequestListener(){
@凌驾
public boolean onload失败(@Nullable glide,对象模型,目标,boolean isFirstResource){
返回false;
}
@凌驾
公共布尔onResourceReady(可绘制资源、对象模型、目标、数据源数据源、布尔isFirstResource){
if(giftrawable的资源实例){
((giftrawable)资源).setLoopCount(1);
}
返回false;
}
})
.into();

您可以这样尝试-

Glide.with(getContext())
        .load(R.drawable.some_gif)
        .into(new GifDrawableImageViewTarget(mGifView, 1));

看看这个链接,我得到了未解决的参考:gifdawableimageviewtarget,顺便说一句,如果这有什么不同,我使用的是Kotlin。@MalikA.Abualzait如果它解决了问题,请接受答案,这样其他人就不能在同一个问题上花费自己的时间。@MalikA.Abualzait看起来你接受了错误的答案,如果是错误的话,请接受正确的。它也会帮助其他人。这是正确的答案,应该被业主接受