Entfernen Sie das Bild von einem Bildansichts-Android [duplicate]

Lesezeit: 3 Minuten

Benutzer-Avatar
ChyBy

Ich versuche, eine zu machen ImageView die eine Bildergalerie enthält. Durch Berühren der Benutzeranforderung, das nächste Bild zu laden. Wenn das nächste Bild nicht auf dem Server gefunden wird oder Zeit zum Laden benötigt, muss das alte Bild leer sein.

setVisibility(View.GONE) oder setVisibility(View.INVISIBLE) funktioniert nicht für mich, denn wenn ich unsichtbar / weg bin, höre ich auf onTouch() Erkennung (und der Benutzer ist auf das aktuelle Bild fixiert).

Wie kann ich das machen ImageView eine leere Bitmap laden oder die aktuelle Bitmap löschen (entfernen)?

  • ImageView.setImageResource (android.R.color.transparent); von stackoverflow.com/questions/2859212/…

    – Shirish Herwade

    9. Dezember 2015 um 17:58 Uhr


  • Bitte richtige Antwort wählen

    – Benutzer25

    4. September 2016 um 13:38 Uhr

  • Bitte markieren Sie die Antwort, die Ihnen geholfen hat, sie hilft anderen..

    – Akshatha SR

    28. März 2018 um 8:13 Uhr

Ich benutze immer

imageView.setImageDrawable(null);

  • vielen Dank. Es hat bei mir funktioniert

    – Sakthimuthiah

    30. Mai 2013 um 13:17 Uhr

  • Dies sollte als richtige Antwort markiert werden

    – Mahmud Badri

    24. Februar 2014 um 15:21 Uhr

  • seltsam! es funktioniert nicht. Tatsächlich funktionieren setImageResouce(0) und setBackground(null) auch nicht. Irgendeine Idee, was der Grund sein könnte oder irgendein Trick, um den Cache zu löschen oder so.

    – RamKr

    23. Februar 2015 um 13:57 Uhr

  • Rufen Sie dies aus dem Haupt- (UI-) Thread auf?

    – tristan2468

    23. Februar 2015 um 14:38 Uhr

  • Wenn ein Bild nicht in imageView geladen wird und trotzdem versucht wird, es zu löschen, bricht das Programm unerwartet ab. Gibt es eine Möglichkeit, dies anzugehen?

    – Krithi07

    29. Mai 2015 um 10:11 Uhr

Versuchen:

imageView.setImageResource(0);

Dadurch wird die Bildansicht so eingestellt, dass keine Ressourcen verwendet werden.

  • funktioniert bei mir nicht =( nach dem Aufruf imageView.setImageResource(0) zeigt es immer noch das alte Bild

    – ChyBy

    10. Juli 2011 um 20:37 Uhr


  • Hmm, interessant. Nun, es hat für mich in der Vergangenheit funktioniert.

    – Ribose

    10. Juli 2011 um 20:43 Uhr

  • Danke, endlich hat view.setImageDrawable(null) so funktioniert, wie ich es wollte

    – ChyBy

    10. Juli 2011 um 20:47 Uhr

  • @ChyBy Wenn Sie die Support-Bibliothek verwenden, erhalten Sie AppCompatImageView Anstatt von ImageView was unterstützt setImageResource(0) auf allen Geräten.

    – Android-Entwickler

    30. April 2018 um 11:28 Uhr

Soweit mir aufgefallen ist, hängt das “Funktionieren” oder Nichtbestehen bestimmter Methoden beim Löschen von Bildern von der Methode ab, die zum Auffüllen von ImageView verwendet wird.

Also, wenn Sie einstellen img.setImageBitmap(bmp) dann zum Löschen sollten Sie verwenden img.setImageBitmap(null). Wenn du img.setImageResource(resId) dann zum Löschen sollten Sie verwenden img.setImageResouce(0). Usw.

Sicherlich funktioniert imageView.setImageResource(0). Es hat bei mir noch nie versagt und ich habe es viele Male benutzt.

setImageResource wird normalerweise die Referenz R.drawable (die Referenz für das Bild) übergeben, die als int gespeichert, aber in der R.java-Klasse als Hexadezimalwert 0xf2fs angezeigt wird. Angenommen, diese Referenz existiert, wird sie angezeigt ein Bild, wenn Sie später dieselbe Bildansicht übergeben, eine Referenz, die nicht existiert, wird das alte Bild nicht mehr angezeigt. Wenn Sie also 0 oder 5 oder ein int übergeben, das nicht mit einer Ressource übereinstimmt, auf die in Ihrer R.java-Klasse verwiesen wird, wird das Bild vollständig aus der Quelle von imageView entfernt. Wenn Sie also 0 an die alte Referenz von imageView übergeben.

1335080cookie-checkEntfernen Sie das Bild von einem Bildansichts-Android [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy