我想通过它的名称而不是它的 int id 来访问像 String 或 Drawable 这样的资源。
我会使用哪种方法?
它会是这样的:
R.drawable.resourcename
确保您没有Android.R导入名称空间,因为它会混淆 Eclipse(如果您正在使用它)。
Android.R
如果这不起作用,您始终可以使用上下文的getResources方法…
getResources
Drawable resImg = this.context.getResources().getDrawable(R.drawable.resource);
Wherethis.context被初始化为Activity,Service或任何其他Context子类。
this.context
Activity
Service
Context
更新:
如果它是您想要的名称,则Resources该类(由返回getResources())有一个getResourceName(int)方法,以及一个getResourceTypeName(int)?
Resources
getResources()
getResourceName(int)
getResourceTypeName(int)
更新 2 :
该类Resources有这个方法:
public int getIdentifier (String name, String defType, String defPackage)
它返回指定资源名称、类型和包的整数。