采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
既然旧Activity都被销毁了,他的onActivityResult还会被调用吗? 新Activity被恢复后,回调的不是新Activity的onActivityResult方法吗? 感谢解答
知道了,茅塞顿开。因为匿名内部类在最开始创建的时候持有了旧Activity的引用。所以当Activity重建的时候恢复数据,就原原本本的把带有旧Activity引用的匿名内部类一起带到了新Activity当中。我们通过Fragment获取新Activity的引用更新下匿名内部类的Activity引用就可以了。
嗯,旧的被销毁了以后onActivityResult不会被调用,调用的是新的Activity的。调用的时候,我们获取到我们刚刚设置的回调进行调用,也就是我们创建的匿名内部类,它持有的引用一开始其实是旧 Activity的引用,我们在回调调用前来一手狸猫换太子,换成新 Activity 的引用,问题就解决了。
不太理解“Activity重建的时候恢复数据,就原原本本的把带有旧Activity引用的匿名内部类一起带到了新Activity当中”这句话,意思是当新Activity创建的时候,匿名内部类中的引用会指向新的Activity么?
登录后可查看更多问答,登录/注册
改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程
1.1k 1
1.2k 16
892 10
1.2k 10