2017-02-25 9 views
0

Ich möchte eine ImageView-Quelle von meinem Code (nicht die XML) ändern. Ich habe eine Aktivität, und ich möchte das Bild darin ändern, entsprechend einer Nachricht, die ich von einer anderen Aktivität erhalten habe. Gibt es irgendeine Methode, die die Bildquelle vom Klassencode und nicht vom XML-Code ändern kann?Bildquelle ändern

Zum Beispiel:

if (message.equals("hello")){ 
     //change the ImageView to hello.png; 
    } 
+1

Mögliche Duplikat [Ändern Bild von Imageview programmatisch Android] gespeichert haben (http://stackoverflow.com/questions/16906528/change-image -of-imageview-programmatically-android) –

+1

Sie meinen 'ImageView.setBackgroundResource (R.drawable.hello);', wo Sie ein Bild namens hallo.png in Zeichnungsordner^_^ –

+0

Es setzt das neue Bild nur hinter dem aktuellen Bild, ich will es das Bild auf das neue zu ändern –

Antwort

0

Sie können dies tun, indem Sie die folgenden Schritte folgenden:

  1. Speichern Sie die Bilder mit Nachrichtennamen (d. H hello.png, etc).

  2. Jetzt in Ihrem if-Zustand verwenden Sie den unteren Code, um das Bild einzustellen. Ändern mipmap zu drawable, wenn Sie die Bilder in ziehbar Ordner

    int imageId=context.getResources().getIdentifier(message,"mipmap",context.getPackageName()); 
    imageView.setImageResource(imageId); 
    
+0

Ich verstehe nicht, was ich in der Nachricht schreiben sollte –

+0

Nachricht wird Ihre Messa sein ge, dass Sie für ex bekommen. "Hallo", auch mit diesem Ansatz können Sie bedingte Anweisungen loswerden – Sanjeet

+0

können Sie mir ein Beispiel dafür geben, wie man es schreibt? Zeichenfolge Nachricht =? –