【问题标题】:How to store ArrayList<ArrayList<Object>> with Parcelable interface between Activities如何在活动之间使用 Parcelable 接口存储 ArrayList<ArrayList<Object>>
【发布时间】:2014-08-02 11:01:51
【问题描述】:

我想在活动之间存储ArrayList&lt;ArrayList&lt;Transports&gt;&gt; arrayListsTransportsForAllStops。类 Transport 实现 Parcelable。但是当我尝试制作时

intent.putParcelableArrayListExtra("transports",arrayListsTransportsForAllStops);

我的环境出现错误:

以及如何从意图中获取这些数据?

【问题讨论】:

    标签: android android-intent parcelable


    【解决方案1】:

    您可以在其封闭的 ArrayList 中遍历 ArrayList&lt;Transports&gt; 对象,对于每个 ArrayList&lt;Transports&gt; 对象,您应该使用不同的 keysputParcelableArrayListExtra /strong> 为他们每个人。

    【讨论】:

    • 那么 API 让您别无选择。考虑一下你的目标是什么,然后决定是否应该这样做。
    【解决方案2】:

    如果你想把 parcelable 放到 Intent 中,只需添加:

    intent.putParcelableArrayListExtra("transports", (ArrayList<? extends Parcelable>) arrayListsTransportsForAllStops);
    

    在下一个活动中得到这个:

    Intent data = getIntent();
    List <Transports> result = data.getParcelableArrayListExtra("transports");
    

    【讨论】:

    • 但我想得到 ArrayList> 而不是 List
    • 也许你有什么制作方法?
    • 错误:(204, 100) 错误:需要不可转换的类型:ArrayList 发现:ArrayList> 当我尝试将数据放入意图时遇到此异常
    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多