gpt4 book ai didi

android - 如何将对象数组发送到新 Intent

转载 作者:行者123 更新时间:2023-11-30 02:50:29 25 4
gpt4 key购买 nike

我正在尝试将一个对象数组发送到一个新的 Intent ,但问题是我不知道如何一次发送整个数组。我设法让它工作的方法是在 for 循环中逐个添加对象,在第二个 Activity 中我必须一个一个地获取它们,如下所示:

主要 Activity :

        Intent newIntent = new Intent(mainA.this, secondA.class);
for(int i=0;i<numberOfObjects;i++)
newIntent.putExtra("object"+i,myObjects[i]);
newIntent.putExtra("length", x);
startActivity(newIntent);

第二个 Activity :

        Serializable n = getIntent().getSerializableExtra("length");
int x = Integer.parseInt(n.toString());
myObjects = new objClass[x];
for(int i=0;i<x;i++)
myObjects[i] = (objClass) getIntent().getSerializableExtra("object"+i);

即使这个方法行得通,并且得到了正确的结果,难道就没有更好/更快/更干净的解决方案吗?(我搜索了很多,但没有找到更好的方法,也许我不知道什么正是为了寻找)。

最佳答案

使您的对象可序列化并将所有对象放入 Arraylist 中并发送它。ArrayList 本身实现了可序列化。

 Intent newIntent = new Intent(mainA.this, secondA.class);
newIntent.putExtra("list",listOfObjets);
startActivity(newIntent);

第二个 Activity :

   ArrayList<YourObjects> list =  (ArrayList<YourObjects>)getIntent().getSerializableExtra("list");

关于android - 如何将对象数组发送到新 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com