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?
I was doing a search for this as well but I came up with the following solution:
I hope this helps.
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 receivesResource ID
in a parameter of the constructor.Then you need to store this
ResID
in a special field in your class and implementgetter
andsetter
for that field. Voila!Because a
Drawable
does not have to be created from a resource.You don't. You track it elsewhere (e.g., other data members of a class).