>我正在尝试从另一个活动中获取字符串的 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()