gpt4 book ai didi

android - Fragments、Parcelable 对象和 Back Stack

转载 作者:行者123 更新时间:2023-11-29 18:03:58 24 4
gpt4 key购买 nike

假设我有 fragment 1 和 fragment 2。

fragment 1 创建一个 Person 对象并将 name 属性设置为“George”。

fragment 1 然后创建 fragment 2,将 Person 对象作为 Parcelable 传递,然后将 fragment 2 压入返回堆栈。

fragment 2 读取 parcelable。随后, fragment 2 将 Personname 更改为 Nancy。

用户点击后退按钮,从堆栈中弹出 Fragment 2 并返回到 Fragment 1。

既然我们回到 fragment 1,Person 对象的 name 属性是什么?是设置为乔治还是南希?

最佳答案

似乎在Fragment2 中你得到的实际上是对Fragment1 中parcelable 对象的引用。这样,您就可以得出您正在修改同一个对象的结论。

Android docs:

An unusual feature of Parcel is the ability to read and write active objects. For these objects the actual contents of the object is not written, rather a special token referencing the object is written. When reading the object back from the Parcel, you do not get a new instance of the object, but rather a handle that operates on the exact same object that was originally written.

如果它能帮助您知道该怎么做 ;)

干杯!

关于android - Fragments、Parcelable 对象和 Back Stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com