向Intent发送一个ArrayList <arraylist <string>&gt;

时间:2018-05-05 12:22:25

标签: java android android-intent android-activity arraylist

我在活动中有一个Value="{Binding CurrentMediaPlayer.MediaElement.Position, Mode=TwoWay, Converter={converters:SecondsToTimeSpanConverter}, Delay=50}" ,所以基本上是一个列表列表。

我想要完成的是将活动1发送到活动2这个列表列表,所以我考虑了意图,但我似乎无法找到必要的getExtra()。< / p>

更准确地说,ArrayList<ArrayList<String>>包含与问题相关的questionsStrings中的相应位置包含该问题的所有选定答案。

answers

这就是我将原始public class ReviewActivity extends AppCompatActivity { ArrayList<String> questions = new ArrayList<>(); ArrayList<ArrayList<String>> answers = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_review); Intent intent = getIntent(); questions = intent.getStringArrayListExtra("questions"); answers = intent.getStringArrayListExtra("answers"); } 置于意图中的方式:

ArrayList<ArrayList<String>>

代码在行 Intent mIntent = new Intent(this, ReviewActivity.class); mIntent.putExtra("questions", questions); mIntent.putExtra("answers", answers); startActivity(mIntent); 处出错,我明白了原因,但我该如何解决?

感谢。

1 个答案:

答案 0 :(得分:3)

ArrayListSerializable,因此您可以将其作为Serializable发送到捆绑包。

 mIntent.putExtra("answers", answers);

获取清单:

ArrayList<ArrayList<String>> list= (ArrayList<ArrayList<String>>) getIntent().getExtras().getSerializable("answers");