问题很简单,如果我使一个对象可打包,并将其放入一个包中并使用该包创建一个片段。对象是被克隆还是被引用。
上下文。
我在 ArrayList 中存储/引用了一个对象。取决于 ArrayList 中对象的类型(使用多态性)。我创建了一个适合处理它的片段。
我还需要将此对象传递给片段。该片段在自定义视图寻呼机中使用。我不希望有重复的对象,而且在我看来是可打包的克隆对象。
另一种方法是在 ArrayList 中传递对象的索引。然后使用 getActivity().myList.get(传递给的整数)从片段中获取对数组列表的引用。但这对我来说似乎不是很安全(ArrayList 的内容可能会改变,尽管我只是删除了所有内容并重新开始)。我还读过,您应该避免将参数传递给片段构造函数,因为它可能会使用默认的无参数构造函数重新创建。
(尽管我目前正在销毁任何重新创建的片段,因为重新附加到正确的视图存在一些奇怪的问题,另一篇文章)。
新的子问题:有没有办法通过引用片段来传递值?