Ich habe eine ImageView in meiner Szene, auf der ich die Quelle dynamisch basierend auf Benutzereingaben festlegen möchte.
Nehmen wir an, ich habe 4 Bilder in meinem Zeichnungsordner: aaa.png, bbb.png, ccc.png und ddd.png.
Wenn meine Anwendung geladen wird, setze ich das Bild auf: aaa.png
%Vor%Jetzt habe ich einen EditText, wo ein Benutzer bbb eingeben kann und ich möchte die Bildquelle als bbb.png ändern, oder der Benutzer gibt ccc ein, wechselt die Quelle zu ccc.png etc.
Wie kann ich den Parameter in setImageResource () dynamisch setzen? Ich habe versucht, mit dem Drawable-Objekt herumzuspielen, ohne Erfolg ...
Wenn Sie eine offene Texteingabe zulassen möchten, müssen Sie entweder roh verwenden Assets , um sie nach dem String-Namen abzurufen (siehe die Randnotiz auf dieser Seite), oder verwenden Sie magisches Java Reflexion , um ein Feld der R-Klasse nach Namen abzurufen. Alternativ könnten Sie eine HashMap von Zeichenketten auf R.drawable Integer-Werten halten und nachschlagen, aber dann müssen Sie diese hashmap beibehalten.
Tags und Links android user-interface imageview