这个问题已经有了答案:
How can I get a resource content from a static context?
12答
我有一个字符串资源:

strings.xml
<resources>
    <string name="myString">stringName</string>
</resources>

如何从非活动类获取字符串?
我做不到getResources().getString(R.string.myString)

最佳答案

必须使用对上下文的引用才能访问资源。
我建议扩展应用程序类并创建应用程序单例,然后调用:

MyApplication.getInstance().getString(R.string.myString);

或者把它注入你选择的班级。
这种方法的问题是它会使类更难测试,因为现在它使用android上下文。我建议通过构造函数或首选方法将字符串作为依赖项传递到所选的非活动类中。
public MyClass(String string){
}

10-08 06:57
查看更多