Skip to content Skip to sidebar Skip to footer

Set Source Of Imageview Dynamically Android

I have an ImageView on my scene that I would like to set the source of dynamically based on user input. Let's say I have 4 images in my drawable folder: aaa.png, bbb.png, ccc.png,

Solution 1:

If you want to allow open text input, you'll either have to use raw assets to fetch them by string name (see the sidenote on that page), or else use magical Java reflection to retrieve a field of the R class by name. Alternatively, you could keep a HashMap of strings to R.drawable integer values and look it up, but then you'd have to maintain that hashmap.

Solution 2:

If you only want it to display images that you have loaded in your drawables you can use a Spinner where the id for the item is set to be the resource for the Drawable. That would be easier on your part and easier for the user.

Solution 3:

If you want to use reflections have a look at the code below:

 R.drawableourRID=newR.drawable();
                        FieldphotoNameField= ourRID.getClass().getField("aaa");
myImageView.setImageResource(photoNameField.getInt(ourRID));

Hope it helps.

Post a Comment for "Set Source Of Imageview Dynamically Android"