我在活动中有一个Value="{Binding CurrentMediaPlayer.MediaElement.Position, Mode=TwoWay, Converter={converters:SecondsToTimeSpanConverter}, Delay=50}"
,所以基本上是一个列表列表。
我想要完成的是将活动1发送到活动2这个列表列表,所以我考虑了意图,但我似乎无法找到必要的getExtra()。< / p>
更准确地说,ArrayList<ArrayList<String>>
包含与问题相关的questions
,Strings
中的相应位置包含该问题的所有选定答案。
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);
处出错,我明白了原因,但我该如何解决?
感谢。
答案 0 :(得分:3)
ArrayList
为Serializable
,因此您可以将其作为Serializable发送到捆绑包。
mIntent.putExtra("answers", answers);
获取清单:
ArrayList<ArrayList<String>> list= (ArrayList<ArrayList<String>>) getIntent().getExtras().getSerializable("answers");