Reputation:
To create Drawable object from any resource we can use the following code (my image name is arrow_selected.png)
Drawable d =getResources().getDrawable(R.drawable.arow_selected);
But later in the application I want to get the resource name from this drawable object. I didnot find any method to get resource name like the following
d.getResourceName();
Why there is no such method in android API. How can I get Resource Name from Drawable object?
Upvotes: 15
Views: 12626
Reputation: 4121
In case if you really need that functionality (I'm not sure you do), you could create your own class that extends Drawable
class and receives Resource ID
in a parameter of the constructor.
Then you need to store this ResID
in a special field in your class and implement getter
and setter
for that field. Voila!
Upvotes: 2
Reputation: 321
I was doing a search for this as well but I came up with the following solution:
String name = context.getResources().getResourceEntryName(imageResID);
I hope this helps.
Upvotes: 32
Reputation: 1007554
Why there is no such method in android API.
Because a Drawable
does not have to be created from a resource.
How can I get Resource Name from Drawable object?
You don't. You track it elsewhere (e.g., other data members of a class).
Upvotes: 7