2013-06-02 43 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); 

不知道你的计划是什么。