安卓。获取非 Activity 类的字符串资源

标签 android android-activity android-resources

<分区>

我有一个字符串资源:

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/

相关文章:

java - 如何设置来自另一个 Activity 类的文本

android - MVP。当 Activity 重新创建时,在哪里存储演示者的缓存?

android - 我们如何使用数据绑定(bind)从字符串资源中获取 SpannedString 对象?

java - 改变资源的颜色

android - 通过 SSH 将音频流式传输到 Android 设备

android - 全屏 Activity 背景图片的大小

java - Android Activity 上没有显示任何内容

android - 是否可以将 xml 布局设置为不是动态资源的 View ?

android - JobDispacter 与 Android 作业(Evernote)

android - 如何使用 rxjava 在改造 2.0 中获取请求 url?