EventBus代替Intent将复杂对象传递给下一个即将启动的Activity

原:http://blog.csdn.net/yuzui0810/article/details/50554427

我觉得EventBus确实非常好,把我们从序列化中解脱出来,即使不序列化也能在界面间传递数据,但是有个前提,那是两个界面都已经存在并且注册了EventBus。而即将启动的下一个Activity就非常尴尬地不方便使用EventBus。当我们想给即将启动的界面传递参数时,一般都是用intent,但是复杂参数是需要序列化才能够传递的,如果你实在不想序列化,可能你就得像这样做了:

调用startActivity启动界面时先不用调用EventBus的post去传参。而是在当前界面的onStop中调用post去传递你想传的复杂参数。为什么是onStop里面呢?因为这个方法是在下一个界面成功启动后调用的。这样你就绕过序列化了。

猜你喜欢

转载自blog.csdn.net/shaoduo/article/details/75330883