ArrayList null 在使用尝试通过 putExtra 时



>我正在尝试从另一个活动中获取字符串的 ArrayList,并打印出如下所示的元素:

ArrayList<String> foo;
if (resultCode == RESULT_OK) {              //this does get called
    Intent extras = this.getIntent();
    foo = extras.getStringArrayListExtra("foo");
    for (int i = 0; i < foo.size(); i++)    //error, null object
        System.out.println(foo.get(i));
}

在getStringArrayListExtra之前实例化它对错误没有帮助:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference

我还能如何获得数组列表的大小?

这就是我通过它的方式:

Intent intent = new Intent();
intent.putStringArrayListExtra("foo",foo);
setResult(RESULT_OK, intent);

我在通过之前确保它有数据

onActivityResult (int requestCode, int resultCode,  Intent data)

使用收到的意图来onActivityResult而不是this.getIntent()

最新更新