看文章时Activity 与 Fragment 生命周期探讨
Fragment是直接从Object继承的,而Activity是Context的子类。
因此我们可以得出结论:Fragment不是Activity的扩展。
但是与Activity一样,在我们使用Fragment的时候我们总会扩展Fragment(或者是她的子类),
并可以通过子类更改她的行为。
使用Fragment时,必要构建一个无参构造函数,系统会默认带。
但一但写有参构造函数,就必要构建无参构造函数。一般来说我们传参数给Fragment,
会通过bundle,而不会用构造方法传,代码如下:
public static MyFragment newInstance(int index){
MyFragment mf = new MyFragment();
Bundle args = new Bundle();
args.putInt("index",index);
mf.setArguments(args);
return mf;
}
Activity重建,Fragment也会重建,通过onCreate( Bundle savedInstanceState)传入之前保存的数据savedInstanceState,通过反射无参构造实例化一个新的Fragment,如果Fragment的构造函数不是无参的,就无法实例化Fragment,会导致程序崩溃。