将对象(具有多维数组)从intent传递到另一个

时间:2013-06-09 18:34:29

标签: android android-intent multidimensional-array parcelable serializable

我有一个最简单的对象,为此我使用了parcelable。但是这个对象比较复杂,有多维数组,我真的不知道如何编写可分解的方法:

public class PointSystem 
{
    private int point;
    private boolean [] vec1;
    private HashSet <Integer> hs1;
    private int [][]    vecMap;
}

public class PointSystem { private int point; private boolean [] vec1; private HashSet <Integer> hs1; private int [][] vecMap; }

我删除了相同类型和方法的另一个istance变量,因此代码更具可读性。 我尝试使用serializable但我不知道如何从其他意图强制转换为array [] []的序列化。

我怎样才能使这个对象变得可以掠夺?或者还有其他方法将此对象传递给另一个意图?

1 个答案:

答案 0 :(得分:1)

  1. 首先,你说你试图将序列化转换为array [] [],你试图将这个对象的所有成员作为单独的额外内容传递吗?为什么不序列化整个PointSystem对象并将其作为额外传递。然后,当您尝试接收它时:

    PointSystem p = (PointSystem) getIntent().getSerializableExtra("Extra_Name");
    int[][] vecMap = p.vecMap;
    
  2. 使用Parcelable的一个很好的例子可以在answer

  3. 中找到