这是困扰我一段时间的事情。
如果我们的活动中有某种Parcelable对象,并且我们使用Bundle将它传递给片段,我一直认为我们在片段中接收的对象实际上是一个新对象。但是,在今天运行一些测试后,片段中的对象实际上与活动中的对象相同。
这是对的吗?
编辑:小澄清。我没有提到对象的值。我指的是'=='比较。
答案 0 :(得分:4)
当您创建对象Parcelable
然后使用Intent
将其传递到另一个活动时,如下所示:
Intent i = new Intent();
i.putExtra("name_of_extra", myParcelableObject);
您在另一个活动或片段中收到的对象是您之前传递的确切对象。 你可以用这种方式接收对象:
Intent i = getIntent();
MyParcelable myParcelableObject = (MyParcelable)i.getParcelableExtra("name_of_extra");