小编典典

如何获取具有已知资源名称的资源 id?

all

我想通过它的名称而不是它的 int id 来访问像 String 或 Drawable 这样的资源。

我会使用哪种方法?


阅读 128

收藏
2022-07-04

共1个答案

小编典典

它会是这样的:

R.drawable.resourcename

确保您没有Android.R导入名称空间,因为它会混淆 Eclipse(如果您正在使用它)。

如果这不起作用,您始终可以使用上下文的getResources方法…

Drawable resImg = this.context.getResources().getDrawable(R.drawable.resource);

Wherethis.context被初始化为ActivityService或任何其他Context子类。

更新:

如果它是您想要的名称,则Resources该类(由返回getResources())有一个getResourceName(int)方法,以及一个getResourceTypeName(int)?

更新 2

该类Resources有这个方法:

public int getIdentifier (String name, String defType, String defPackage)

它返回指定资源名称、类型和包的整数。

2022-07-04