【发布时间】:2015-06-18 14:18:34
【问题描述】:
我做的是
public class MainActivity extends Activity {
private final String[] types = { "s1", "s2", "s3" };
但我想将这些值保留在res/values/types.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array
name="types">
<item>s1</item>
<item>s2</item>
<item>s3</item>
</string-array>
</resources>
所以我改成
public class MainActivity extends Activity {
private final String[] types = getResources().getStringArray(R.array.types);
但应用启动时出现异常
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
所以我想唯一的解决方案是在onCreate 中加载该数组?如果是这样,那么在 Activity 重新创建之后我应该再次加载它吗?
【问题讨论】:
标签: android android-activity android-xml android-resources android-lifecycle