【发布时间】:2017-02-26 19:29:39
【问题描述】:
我有一个实现 Parcelable 接口的对象。
案例一:
我有一个活动 A 和 B。我想使用 Intent.putExtra(String name, Parcelable value) 将对象从 A 传递到 B,所以在活动 B 中,当我获取对象并更改一些字段并返回 A 时,对象的字段保持不变。这意味着在通过Intent.putExtra(String name, Parcelable value) 传递对象后,将创建一个新的对象实例。
案例 2:
我有一个包含对象列表的活动,该活动也有带有片段的 ViewPager。我创建片段并将对象传递给它Bundle.putParcelable(String key, Parcelable value),因此当我获取对象并更改某些字段(int Fragment)时,放置在列表中(在活动中)的对象也发生了变化。所以这意味着对象还没有被创建,只是引用已传递给片段。
有人能解释一下Bundle.putParcelable(String key, Parcelable value) 和Intent.putExtra(String name, Parcelable value) 的奇怪行为吗?
【问题讨论】:
标签: android