如何将ArrayList传递给StartActivityForResult活动

时间:2016-10-30 22:29:25

标签: java android

我需要从活动A开始一个活动B获取结果。我需要首先将活动A中的String ArrayList传递给Activity B.我认为这段代码可以正常工作,但它会使应用程序崩溃,但是没有传递列表:

活动A:

Intent intent = new Intent(MainActivity.this,PopUpRunda.class);
Bundle sendList = new Bundle();
sendList.putStringArrayList("list",listA);
startActivityForResult(intent,2,sendList);

活动B:

Bundle gotList = getIntent().getExtras();
ArrayList<String> listB = gotList.getStringArrayList("list");

1 个答案:

答案 0 :(得分:2)

替换:

Intent intent = new Intent(MainActivity.this,PopUpRunda.class);
Bundle sendList = new Bundle();
sendList.putStringArrayList("list",listA);
startActivityForResult(intent,2,sendList);

使用:

Intent intent = new Intent(MainActivity.this,PopUpRunda.class);
intent.putStringArrayListExtra("list",listA);
startActivityForResult(intent,2);

Bundle上作为参数提供的startActivityForResult()不是您传递Intent个附加内容的方式。