2011-05-28 85 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