一尘不染

Java 如何获得具有已知资源名称的资源ID?

java

我想通过其名称而不是其int id访问诸如String或Drawable之类的资源。

我将使用哪种方法?


阅读 434

收藏
2020-02-26

共1个答案

一尘不染

它将类似于:

R.drawable.resourcename

确保没有Android.R导入名称空间,因为它可能会使Eclipse迷惑(如果使用的是名称空间)。

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

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

this.contextintialised作为ActivityService或任何其他Context子类。

更新:

如果是你想要的名称,则Resources该类(由返回getResources())具有一个getResourceName(int)方法和一个getResourceTypeName(int)

更新2:

Resources类有这个方法:

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

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

2020-02-26