2017-11-01 7 views
3

Ich habe eine Liste von Bildansichten und einige von ihnen werden häufig mit einer festen URL aktualisiert. Durch Anhängen eines Timestamp-Abfrageparameters am Ende der URL. Es funktioniert, aber ich habe festgestellt, wenn es aktualisiert wird auch den aktuellen Inhalt löschen. Irgendeine Möglichkeit, dies zu verhindern?Bild flackert, wenn Glide es lädt

Beachten Sie, dass die anderen ohne Zeitstempel alle gut sind.

+0

Sie sagen also, es flackert statt CrossFade? – X3Btel

+0

@ X3Btel Es ist Crossfade, aber das ist nicht was ich will. Ich möchte nicht, dass es wieder mit Platzhalter beginnt. Ich möchte, dass es nur auf die neueste nahtlos aktualisiert –

+0

Dann sende ich vorschlagen, zuerst alles zu laden, wie es nicht aktualisierbar ist. Und dann für Bilder, die aktualisiert werden müssen, rufen Sie Ihre Methode, aber ohne Überblendung – X3Btel

Antwort

0

Wenn Sie Emulator verwenden, kann dies passieren. Versuchen Sie es mit einem echten physischen Gerät oder wechseln Sie den Emulator.

+0

Oh Wirklich? Ich denke nicht –

+0

ist es ein physikalisches Gerät –

+0

@DayoChoul Aufruf 'notifyDataSetChanged'? –

2

Versuchen Sie, diese

Glide 
.with(context) 
.load(filepath) 
.asBitmap() 
.diskCacheStrategy(DiskCacheStrategy.NONE) 
.skipMemoryCache(true) 
.dontAnimate() 
.into(new SimpleTarget<Bitmap>() { 

     @Override 
     public void onResourceReady(Bitmap arg0, GlideAnimation<? super Bitmap> arg1) { 
      // TODO Auto-generated method stub 
      holder.mItemView.setImageBitmap(arg0); 
     } 
    }); 

Wenn Sie Glide 3.x verwenden und möchten direkt ohne die kleinen Übergangseffekt um das Bild anzuzeigen, rufen .dontAnimate() auf der Glide Anfrage Bauer: für mehr Lese dies: Glide — Placeholders & Fade Animations

Glückliche Kodierung !!

+0

Selben. Gibt es eine Möglichkeit, das Bild ohne den aktuellen Inhalt zu aktualisieren? –

+0

versuchen Sie skipMemoryCache (false). Es behält die aktuellen Daten im Cache, bis es sich geändert hat. –