要从任何资源创建Drawable对象,我们可以使用以下代码(我的图像名称是arrow_selected.png)
Drawable d =getResources().getDrawable(R.drawable.arow_selected);
但是稍后在应用程序中我想从这个可绘制对象中获取资源名称。 我没有找到任何获取资源名称的方法,如下所示
d.getResourceName();
为什么Android API中没有这样的方法。 如何从Drawable对象获取资源名称?
答案 0 :(得分:21)
我也在搜索这个,但我提出了以下解决方案:
String name = context.getResources().getResourceEntryName(imageResID);
我希望这会有所帮助。
答案 1 :(得分:6)
为什么android API中没有这样的方法。
因为不必从资源创建Drawable
。
如何从Drawable对象获取资源名称?
你没有。您可以在其他地方跟踪它(例如,类的其他数据成员)。
答案 2 :(得分:2)
如果您确实需要该功能(我不确定您这样做),您可以创建自己的类,扩展Drawable
类并在构造函数的参数中接收Resource ID
。< / p>
然后,您需要将此ResID
存储在班级的特殊字段中,并为该字段实施getter
和setter
。瞧!