从字符串数组资源初始化字符串数组

时间:2016-04-16 15:15:32

标签: android arrays

我在课程顶部声明了以下内容:

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);

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果“类”是继承自Context的东西,欢迎您在类中使用该字段,但是在适当的生命周期方法(例如,onCreate()之前)您无法初始化它。活动)。 getResources()在此之前无效。

如果“类”不是从Context继承的,那么默认情况下,语法上不可能。而且,即使您实施了自己的getResources()方法,最终也需要Context,您又回到原点。