2013-12-07 101 views
3

我搜索一种方式来说明哪个资源类型在整数ID后面。例如,我有一个可绘制的标识和另一个颜色。我可以使用Resource.getDrawable(id)加载drawable,使用Resource.getColor(ID)加载颜色,但是如何知道给定ID的哪个方法是正确的。我寻找类似Resource.isColor(id)的东西? 有没有人有个好主意。我写了一个图像加载器,它从web,文件系统和drawables加载图像,但现在也从十六进制颜色或颜色ID加载。Android获取资源类型的ID

回答

6

从android资源类检出this函数。 Resources.getResourceTypeName(int resid)(也this

0

要查找的资源类型最安全的解决方案是使用下面的代码

String viewName = findViewById(resourceId).toString(); 
String resourcetype = viewName.substring(0,viewName.indexOf("{")); 

resoucetype则包含了完整的类名的资源,例如,在EditText上的情况下,显示

android.widget.EditText 

尝试了一些其他的想法,但指出getResourceTypeName只回报上查看“ID”的价值和getTag()不会在所有的C工作onditions。