自从我开始使用bundle之后,我所知道的是bundle是一种在其中存储数据的方式,以便它可以传递给另一个活动而另一个活动可以访问传递/存储在bundle中的数据。但是,当我看到你能做到的时候,我很困惑
ActivityOptions.makeCustomAnimation().toBundle()
然后将其传递到startActivity(intent,bundle)
,以提供有关如何启动活动的其他信息。当该活动开始时,将运行动画。
因此,如果我的理论认为Bundle只是数据是正确的,那么我不应该处理这些数据,并告诉Android将该数据作为动画运行吗?情况似乎并非如此;当我使用从ActivityOptions.makeCustomAnimation().toBundle()
生成的包启动活动时,动画会立即运行。这让我非常困惑,所以:
我想知道这个捆绑包对象到底发生了什么。
我想知道Android如何确定这是开始动画,并且应该运行它而不需要用户进入第二个活动并使用诸如startAnimation()
之类的方法来启动新动画。
我看了一下建议的重复What is a "bundle" in an Android application,但它没有回答我的问题,因为它只解释了用于的包和如何使用。它没有解释开始新活动时如何处理捆绑包,因此它不能解决我上面提到的具体问题。