webentwicklung-frage-antwort-db.com.de

Entfernen Sie das Bild aus einer Bildansicht Android

Ich versuche, ein ImageView zu erstellen, das eine Bildergalerie enthält. Durch Berühren der Benutzeranforderung wird das nächste Bild geladen. Wenn das nächste Bild nicht auf dem Server gefunden wird oder das Laden einige Zeit in Anspruch nimmt, muss das alte Bild leer sein.

setVisibility(View.GONE) oder setVisibility(View.INVISIBLE) funktionieren bei mir nicht, da ich die onTouch() -Erkennung stoppe, wenn sie unsichtbar/verschwunden ist (und der Benutzer für das aktuelle Bild gesperrt ist).

Wie kann ich das ImageView dazu bringen, eine leere Bitmap zu laden oder die aktuelle Bitmap zu löschen (zu entfernen)?

99
ChyBy

Ich benutze immer

imageView.setImageDrawable(null);
367
tristan2468

Versuchen:

imageView.setImageResource(0);

Dadurch wird festgelegt, dass die Bildansicht keine Ressource verwendet.

6
Ribose

Wie mir aufgefallen ist, hängt das "Arbeiten" oder Nicht-Arbeiten bestimmter Methoden beim Löschen von Bildern von der Methode ab, die zum Auffüllen von ImageView verwendet wird.

Wenn Sie also img.setImageBitmap(bmp) einstellen, sollten Sie zum Löschen img.setImageBitmap(null) verwenden. Wenn Sie dann img.setImageResource(resId) löschen, sollten Sie img.setImageResouce(0) verwenden. Etc.

5
Variag

Natürlich funktioniert imageView.setImageResource (0). Es hat für mich nie versagt und ich habe es oft benutzt.

setImageResource wird normalerweise die Referenz R.drawable (die Referenz für das Bild) übergeben, die als int gespeichert, in der R.Java-Klasse jedoch als hexadezimaler Wert 0xf2fs angezeigt wird. Wenn diese Referenz also vorhanden ist, wird sie angezeigt Ein Bild, wenn Sie später dasselbe Bild sehen, wird ein nicht vorhandener Verweis nicht mehr angezeigt. Wenn Sie also 0 oder 5 oder einen Int übergeben, der nicht mit einer Ressource übereinstimmt, auf die in Ihrer R.Java-Klasse verwiesen wird, wird das Bild vollständig aus dem Quelltext der Bildansicht entfernt. Wenn Sie also 0 an die alte Referenz von imageView übergeben.

5
james