2016-06-19 14 views
2

Ich habe Bildsymbole im res/mipmap-Ordner meines Android-Projekts gespeichert. Jeder von ihnen hat seine eigene Image ID. Ich möchte prüfen, ob ich dort ein Bild nach Bild ID habe. Ich möchte wie etwas tun,ist es möglich, Mipmap Bild nach ID zu bekommen?

String input_id = "blue_image"; 
ImageView image; 
if (image.getImageByID(input_id)){ ## if image with blue_image exists 
    image.setImageResource(...); 
} 

Wenn ich weiß, dass blue_image existiert dann in der Regel ich es wie bekommen

image.setImageResource(R.mipmap.blue_image); 

Es scheint zwei Probleme in dieser Frage zu sein. Bei einem geht es darum zu überprüfen, ob ein Bild nach ID existiert, und bei einem anderen geht es darum, etwas Ähnliches wie getattr() Python-Funktion in Java zu finden.

Wenn Sie andere Lösungen für ähnliche Fälle haben, sind diese auch willkommen.

Antwort

1

Versuchen Sie dies in Ihrer Aktivitätsklasse:

int imageId = getResources().getIdentifier(inputId, "drawable", getPackageName()); 

if (imageId > 0) { 
    image.setImageResource(imageId); 
} 

Der Punkt ist, dass getIdentifier()0 kehrt, wenn keine resouce gefunden wurde.