Bundle传递对象后,内存中该对象地址的问题

本文探讨了在Android应用开发中,使用Fragment进行对象传递时遇到的问题。具体表现为从Application全局传递Custom对象到Fragment时,对象变为null的现象。作者尝试了不同方法但仍未能解决问题。

在Fragment中传递 对象时发现了一个问题:将Appcation中全局对象传递一次后,发现该对象一直为null,这让我很郁闷

Bundle bundle = new Bundle();

bundle.putSerializable("custom", MyApplication.getInstance().getCustom());

mFragmentPersonal.setArguments(bundle);



custom = (Custom)getArguments()

.getSerializable("custom");



然后再通过MyApplication.getInstance().getCustom()的对象一直为null

没看源代码,以后探索,我觉得是Bundle在传递对象后,只能通过Key的方式获取,该对象以前的内存地址内容清空了。

 

然后我在考虑 是不是只是清空了该内存地址的一个引用,于是使用

 

 

Custom cus =  MyApplication.getInstance().getCustom();
bundle.putSerializable("custom", cus);

 

结果还是为null,说明不是清空一个引用

 

确认的之前和之后的Application是同一个对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值