我在类的顶部声明了以下内容:
private String[] mapTypes = new String[]{"Normal", "Satellite", "Satellite with streets", "Terrain"};
我还定义了以下字符串数组资源:
<string-array
name="map_types">
<item>Normal</item>
<item>Satellite</item>
<item>Satellite with streets</item>
<item>Terrain</item>
</string-array>
我想从类顶部的字符串数组资源初始化数组。即,在声明变量时执行以下操作:
private String[] mapTypeNames = getResources().getStringArray(R.array.map_types);
有什么想法吗?
如果"类"是从Context
继承的东西,欢迎您在类中拥有该字段,但在使用适当的生命周期方法(例如,活动中的onCreate()
)之前无法对其进行初始化。getResources()
在此之前不会工作。
如果"类"不是从Context
继承的,那么默认情况下,您在语法上想要的是不可能的。而且,即使您实现了自己的getResources()
方法,最终也需要一个Context
,并且您又回到了原点。