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.draw
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!
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.
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).