2013-06-02 40 views
0

我想建立一個輔助類,它通過字符串的名稱獲取字符串(來自strings.xml)。訪問獨立於活動的字符串資源

在這個類中應該是一個用getIdentifier()來獲取字符串的方法。您需要此方法的上下文。現在每次我想使用這個幫助類時,我都必須將當前活動的上下文傳遞給它。但是strings.xml文件中的字符串與活動無關。

有沒有辦法爲此目的獲取應用程序上下文?

+0

用getIndentifier你可以得到String的id,而不是字符串本身。爲了獲得字符串,你需要一個上下文 – Blackbelt

+0

@jasdefer字符串是獨立的,但它們用在一個活動的上下文中,所以你必須提供上下文給幫助類 –

+0

@Muhannad是的,我知道。但問題是,如果我可以給上下文一次助手類並從多個活動中使用它。 – jasdefer

回答

0

那麼,只需在您的方法調用中將上下文設爲paraemeter即可。

public static String getIdentifier (final Context context, int resource) 

然後使用該上下文訪問資源。

context.getString(resource); 

爲了從您的活動中調用該方法,請將'this'作爲上下文。

String example = HelperClass.getIdentifier(this, R.string.example); 

儘管它看起來是一個不必要的步驟,因爲它只是一個額外的層面,你可以從活動中做些什麼。

String example = getString(R.string.example); 

不知道你的計劃是什麼。