我有一個實現Parcelable接口的對象。Bundle.putParcelable(String key,Parcelable value)和Intent.putExtra(String name,Parcelable value)差異
案例1:
我有一個活動A和B.我想從一個物體傳遞使用Intent.putExtra(String name, Parcelable value)
所以在活動B,當我得到對象到B和改變一些領域,並得到回A對象的領域保持不變。這意味着通過Intent.putExtra(String name, Parcelable value)
傳遞對象後,將創建一個新的對象實例。
案例2:
我有一個包含對象列表的活動,也是活動具有ViewPager與片段。我創建片段並傳遞給它對象Bundle.putParcelable(String key, Parcelable value)
因此,當我獲取對象並更改某些字段(int Fragment)時,放置在列表中(在Activity中)的對象也發生了更改。所以這意味着對象還沒有被創建,只是引用已經傳遞給fragment。
有人可以解釋一下關於Bundle.putParcelable(String key, Parcelable value)
和Intent.putExtra(String name, Parcelable value)
的奇怪行爲嗎?