【问题标题】:Android. Get string resource for a non-activity class [duplicate]安卓。获取非活动类的字符串资源[重复]
【发布时间】:2016-12-29 04:10:33
【问题描述】:

我有一个字符串资源:

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

如何从非活动类中获取字符串?

我做不到getResources().getString(R.string.myString)

【问题讨论】:

标签: android android-activity android-resources


【解决方案1】:

您必须使用对上下文的引用来访问资源。 我建议扩展 Application 类并创建一个 Application Singleton,然后调用:

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

或将其注入您选择的类中。

这种方法的问题是它会使你的类更难测试,因为它现在使用 Android 上下文。我建议通过构造函数或首选方法将字符串作为依赖项传递给选择的非活动类。

public MyClass(String string){
}

【讨论】:

  • 这不适用于运行时更改语言环境
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
相关资源
最近更新 更多