Android Fragment 实例变量与 Bundle 参数?
Android Fragment instance variable vs Bundle arguments?
Android 片段实例变量和包参数有什么区别?
什么时候用什么?
A Bundle
是一种持久性数据。 Android 运行时可能会重启你 Activity
或 Fragment
例如在你的设备方向改变时。当 Android 创建将用于横向布局的第二个实例时,第一个实例的变量(假设用于纵向布局的变量)不存在。
通过将 state/variables 放在 Bundle
中,您的 class 的新实例会在重新创建时取回变量。
你可以在第一个实例的onSaveInstanceState()
方法中的Bundle
中添加你想要保留的实例变量。创建第二个实例时,您会在传递给 onCreate()
方法的 Bundle
中获得这些。
Android 片段实例变量和包参数有什么区别? 什么时候用什么?
A Bundle
是一种持久性数据。 Android 运行时可能会重启你 Activity
或 Fragment
例如在你的设备方向改变时。当 Android 创建将用于横向布局的第二个实例时,第一个实例的变量(假设用于纵向布局的变量)不存在。
通过将 state/variables 放在 Bundle
中,您的 class 的新实例会在重新创建时取回变量。
你可以在第一个实例的onSaveInstanceState()
方法中的Bundle
中添加你想要保留的实例变量。创建第二个实例时,您会在传递给 onCreate()
方法的 Bundle
中获得这些。