Why there is no method to get Resource Name from Drawable object

前端 未结 3 441
误落风尘
误落风尘 2020-12-11 15:24

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         


        
相关标签:
3条回答
  • 2020-12-11 15:57

    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!

    0 讨论(0)
  • 2020-12-11 16:15

    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.

    0 讨论(0)
  • 2020-12-11 16:16

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

    0 讨论(0)
提交回复
热议问题