2011-05-28 45 views
2

我有一个字符串,用于标识我想要获取的资源。从外部类的名称获取资源

我了解以下内容:

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

不过,我需要在外部类中使用它,它不会让我。

,比如我有一个名为“thefile”的字符串,我想访问R.raw.thefile

任何想法?我被卡住了

干杯

回答

5

您可以将一个上下文传递给您的外部类。例如...

public Myclass { 

    public void doSomething (Context context) { 
     int resId = context.getResources().getIdentifier(...); 

} 
在活动

则...

MyClass myClass = new MyClass(); 
myClass.doSomething(this); 
+0

或者他可以只是通过上下文的MyClass构造函数,DoSomething的()的方法里面,他可以用这个.context 还有一个注意:方法DoSomeThing()==> doSomething();这不是一个类^^ – Houcine 2011-05-28 14:32:37

+0

@Houcine:错字 - 我花了很多时间编写C#,其中方法通常以大写字母开头。是的,根据需要使用Context的MyClass方法的数量,最好传入构造函数并维护一个本地引用。 – Squonk 2011-05-28 14:38:39

+0

是的,这就是我的意思 – Houcine 2011-05-28 15:34:07