我正在实现一个Android片段。我知道框架可以自动销毁和重新创建片段,重新创建一个片段调用它的默认构造函数,而不是具有参数的构造函数。
有许多文章(例如这个问题的被接受答案)展示了如何通过实现静态
我不明白的是谁调用
那么上述假设是否不正确,并且
newInstance
方法来提供片段参数。我不明白的是谁调用
newInstance
。我的第一印象是——因为可以为这个newInstance
方法定义任意参数——我应该在应用程序中的某个地方添加一个显式调用,而newInstance
名称仅是一种命名约定。但是,这样我就会创建除了由框架调用默认构造函数创建的片段之外的第二个片段,这让我很困惑。那么上述假设是否不正确,并且
newInstance
方法实际上是Java中内置方法的某种重载方式?在这种情况下,我不明白如何定义一个带有任意参数列表的newInstance
方法。或者,在Java中是否可能,而我只是不够了解Java?
newInstance()
,而空构造函数则由框架在需要重新创建时使用。 - Yazannew
或使用newInstance()
,则需要空构造函数来重新创建片段(如果它被销毁),newInstance
不是重写方法,您可以随意命名它。 - Yazan