<分区>
我有一个字符串资源:
strings.xml
<resources>
<string name="myString">stringName</string>
</resources>
如何从非 Activity 类中获取字符串?
我做不到 getResources().getString(R.string.myString)
<分区>
我有一个字符串资源:
strings.xml
<resources>
<string name="myString">stringName</string>
</resources>
如何从非 Activity 类中获取字符串?
我做不到 getResources().getString(R.string.myString)
最佳答案
您必须使用对上下文的引用才能访问资源。 我建议扩展 Application 类并创建一个 Application Singleton,然后调用:
MyApplication.getInstance().getString(R.string.myString);
或者将它注入(inject)到您选择的类中。
这种方法的问题在于它会使您的类更难测试,因为现在它使用 Android 上下文。我建议通过构造函数或首选方法将字符串作为依赖项传递到选择的非 Activity 类中。
public MyClass(String string){
}
关于安卓。获取非 Activity 类的字符串资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39082397/