2010-04-27 4 views
6

Wie kann ich den Hintergrund eines ImageView von Java ändern? Ich habe eine ImageView und an einem bestimmten Punkt muss ich das Bild ändern, das angezeigt wird (in den Stilen festgelegt). Ich habe versucht, es so zu tun:Hintergrund eines ImageView ändern (das alte Bild bleibt dort!)

placeHolder.setImageDrawable(myDrawb); 

aber es sieht aus wie das alte Bild bleibt und es ist teilweise überdacht, aber die neuen (was in meinem Fall andere Form hat).

hoffe ihr könnt helfen!

prost

Antwort

13

Sie müssen das XML nicht berühren, um src anstelle von Hintergrund zu verwenden!

Ein ImageView kann zwei Zeichen anzeigen! Eine im Hintergrund und andere im Vordergrund. Es scheint, dass Sie immer das Hintergrundbild ändern.

Anstelle setBackgroundResource(resId)setImageResource(resId) verwenden, um das Vordergrundbild zu ändern!

+0

manchmal die besten Antworten sind auf der Unterseite :) – Jacksonkr

3

Klar das Hintergrundbild mit:

placeHolder.setBackgroundResource(0); 
+0

ja! Das war's! also im Grunde das Android nicht authomatisch das alte durch das neue ersetzen ... es stapelt sie, es sei denn Sie setBackgroundResource verwenden. sehr hilfreich danke – nourdine

+2

Der Hintergrund ist unabhängig vom Inhalt. Sie legen den Inhalt mit setImageDrawable fest, hinterlas- sen jedoch den Hintergrund. – drawnonward

2

Alternativ sollten Sie die Src des ImageView in xml gesetzt, anstatt den Background der Einstellung. Ich denke, das ist sowieso der "richtige" Weg.

+1

Ich kann das XML nicht berühren! Ich lade Bilder aus dem Internet und ich muss sie in ihren Platzhalter Chuck Chuck, wenn der Download des Bildes fertig ist – nourdine

+0

diese Antwort sollte nicht gewählt werden, da kein Link mit Frage hier gefragt wird – Sameer

+0

@Sameer nein, das ist eine sinnvolle Antwort. Obwohl der Besitzer diese Antwort nicht verwendet, können die anderen, die dies lesen, diese Antwort verwenden. In der Tat, diese Antwort hat mir sehr geholfen –

Verwandte Themen