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