我需要从活动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");
答案 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
个附加内容的方式。