我们可以使用以下代码(我的图像名称为arrow_selected.png)从任何资源创建Drawable对象:
Drawable d =getResources().getDrawable(R.drawable.arow_selected);
但后来在应用程序中,我想从这个drawable对象中获取资源名称。 我没有找到类似以下的获取资源名称的方法。
d.getResourceName();
为什么Android API中没有这样的方法?如何从Drawable对象中获取资源名称?
我们可以使用以下代码(我的图像名称为arrow_selected.png)从任何资源创建Drawable对象:
Drawable d =getResources().getDrawable(R.drawable.arow_selected);
但后来在应用程序中,我想从这个drawable对象中获取资源名称。 我没有找到类似以下的获取资源名称的方法。
d.getResourceName();
为什么Android API中没有这样的方法?如何从Drawable对象中获取资源名称?
我也在寻找这个答案,但我找到了以下的解决方案:
String name = context.getResources().getResourceEntryName(imageResID);
我希望这能帮到你。
为什么Android API中没有这样的方法。
因为Drawable
不一定要从资源中创建。
如何从Drawable对象获取资源名称?
你不能。你需要在其他地方跟踪它(例如,类的其他数据成员)。
Drawable
类并在构造函数的参数中接收资源ID
的自定义类。ResID
存储在类中的特定字段中,并为该字段实现getter
和setter
。就这样!