在活动之间传递ArrayList的机制

时间:2018-01-12 15:34:02

标签: java android arraylist

首先,我想说如何在活动之间传递Arraylist。我想知道整个arraylist是使用意图传递还是仅传递其基本地址。 (如C) 此外,如果整个arraylist通过,那么有任何机制只是转移其基数,如c中所以多个活动可以使用单个arraylist n而不是相同arraylist的副本。 注意在降低这个问题之前我qanna说我曾经访问过很多关于stackoverflow的ither arraylist相关问题,但没有人解释过我的问题。

2 个答案:

答案 0 :(得分:0)

ArrayList<String> arr = new ArrayList<>();
        arr.add("Hello");

        Intent intent = new Intent(MainActivity.this, ToActivity.class);
        intent.putExtra("array_list", arr);
        startActivity(intent);

在ToActivity活动中:

Bundle bundle = getIntent().getExtras();
         if (bundle != null) {
            ArrayList<String> arr = b.getStringArrayList("array_list");
        }

答案 1 :(得分:0)

可以通过意图传递的数据是Serializable,Parcelable或primitive类型。 ArrayList已经可序列化,因此在跨活动传递时会被序列化。 如果你想在不同的活动中使用相同的Arraylist,你可以创建单例来从不同的点访问相同的ArrayList