【问题标题】:Passing object (with multidimensional array) from intent to another将对象(带有多维数组)从意图传递到另一个
【发布时间】:2013-06-05 10:59:03
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:
    1. 首先,您说您尝试将获得的可序列化转换为 array[][],您是否尝试将此对象的所有成员作为单独的附加项传递?为什么不序列化整个 PointSystem 对象并将其作为额外对象传递。然后,当您尝试接收它时:

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

    【讨论】:

    • 1.谢谢,它有效! 2.但是没有Parcelable for multidimensional array2的例子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2019-01-25
    • 2023-03-22
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    相关资源
    最近更新 更多