作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始 Android 开发
。现在,我想做一个枚举
。我想为该枚举中的每个枚举对象分配一个名称。我想从我的项目资源 (res/values/strings.xml
) 中获取该名称。
但在枚举类型中,我无法调用 getResources().getString(R.string.string_name)
。
那是因为枚举没有扩展 Activity 之类的吗?
我怎样才能从资源中获取字符串?
谢谢!
附言枚举未嵌套在类中。如果可能的话,我想将它保存为一个单独的文件。
最佳答案
getResources().getString()
只是 getActivity().getResources().getString()
的简写。
所以 getResources()
仍然依赖于上下文( Activity 、 fragment 、上下文等)。
为了克服这个问题,我亲自扩展了 Application 类并提供了一个公共(public)静态 Context,因此无论您是在 Activity 还是 POJO 中,您都可以随时访问整个应用程序中的资源等。
例子:
public class MyApp extends Application {
public static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
}
有了这个,你可以随时调用:
MyApp.context.getResources().getString(xxxx);
关于java - 枚举中的 getResources()——Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26302267/
我是一名优秀的程序员,十分优秀!