【问题标题】:Send to Intent an ArrayList<ArrayList<String>>向 Intent 发送 ArrayList<ArrayList<String>>
【发布时间】:2018-05-05 12:22:25
【问题描述】:

我有一个活动ArrayList&lt;ArrayList&lt;String&gt;&gt;,所以基本上是一个列表列表。

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

更准确地说,questions 包含与问题相关的Stringsanswers 中的对应位置包含该问题的所有选定答案。

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&lt;ArrayList&lt;String&gt;&gt; 放入意图中的方式:

 Intent mIntent = new Intent(this, ReviewActivity.class);
                            mIntent.putExtra("questions", questions);
                            mIntent.putExtra("answers", answers);
                            startActivity(mIntent);

代码在answers = intent.getStringArrayListExtra("answers");行出现错误,我明白为什么,但我该如何解决?

谢谢。

【问题讨论】:

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


【解决方案1】:

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

 mIntent.putExtra("answers", answers);

获取列表:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 2015-12-07
    • 2013-07-02
    相关资源
    最近更新 更多