为什么我在onCreate中变为null?我该如何初始化

时间:2017-12-14 15:16:15

标签: android

这可能是一个微不足道的问题,如果是这样我很抱歉 - 我是Java新手。基本上,我正在尝试将list设置为等于保存的sharedPreference。然而,应用程序继续崩溃,因为列表为空开头。如你所见,我试图初始化它。我需要列表是公开的,因为我在另一种方法中使用它。 崩溃日志如下: java.lang.ArrayIndexOutOfBoundsException:length = 0; index = 0 在日志中,当我运行它时,它显示这是**正确是:[] **我希望它是{1,1,1,1,1,1}开始用。

所以相关代码看起来像这样

    public int[] list = { 1, 1, 1, 1, 1, 1 };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        if (list == null) {
           for (int i : list) {
              list[i] = 1;
           }
       }

       list = getFromPrefs("updateList");
       Log.i("is Correct is ", Arrays.toString(list));
   }

1 个答案:

答案 0 :(得分:0)

public int[] list = { 1, 1, 1, 1, 1, 1 };
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    if (list == null) {
         list=new int[SIZE];
        // The SIZE should be whatever you want
        for (int i=0;i<SIZE;i++) {
            // Add 1 to the list
            list[i]=1;
        }
    }
    list = getFromPrefs("updateList");
    Log.i("is Correct is ", Arrays.toString(list));
}

}