将 ArrayList 的 ArrayList 传递给另一个类

问题描述

如何传递 ArrayListArrayList ,例如我创建了一个对象。

例如

我有一个OperationInfo,我需要将 ArrayList<ArrayList<OperationInfo>> 传递给其他类。我的 OperationInfo 课程是可打包的。

但似乎 intent 不允许我们使用 putParcelableArrayListExtra

传递列表的列表

有没有办法将列表列表传递给另一个类?

解决方法

我想您可以手动循环遍历列表并将每个子列表保存到包中,同时将键作为索引和总数

Bundle data = new Bundle();
data.putInt("size",mainList.size);
int key = 0;
for(ArrayList<OperationInfo> operationInfoList: mainList){
    data.putParcelableArrayListExtra(""+ (key++),operationInfoList)
} 

通过上面的bundle并在接收端

 ArrayList<ArrayList<OperationInfo>> decodedList = new ArrayList<>();
 int size = getIntent().getIntExtra("size",0);
 for(int key = 0; key < size; key++){
    decodedList.add(getIntent().getParcelableArrayListExtra(""+(key--)));
 }
,

只需使用 intent.putExtra() 并传递您的可解析数组列表。

并在其他活动中像这样获取arraylist

getIntent().getParcelableExtra("param_name");

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...