我正在接受Google进行的高级android开发培训。这是链接。我碰到了这一点:在xml中添加了一个静态片段
旋转设备时,所选单选按钮的状态将保留,如下所示:横向模式
不使用setRetainInstance(true)如何保留片段的状态?片段是否不应该与活动的onDestroy()方法一起销毁?如果保留它而没有显式调用setRetainInstance(true),那么使用该方法有什么意义呢?我对这两个概念感到困惑。有人可以阐明这一点吗?
不使用setRetainInstance(true)如何保留片段的状态?
小部件的明显的用户可变状态通常会Bundle
自动进入保存的实例状态。这包括诸如EditText
小部件中的文本和实现的检查状态(CompoundButton
例如)之类的东西RadioButton
。
片段是否不应该与活动的onDestroy()方法一起销毁?
是。
如果保留它而没有显式调用setRetainInstance(true),那么使用该方法有什么意义呢?
在现代的Android应用程序开发中,您将不使用它,而宁愿使用ViewModel
系统。它在后台使用setRetainInstance(true)
。
更一般地,保留片段的目的是保留状态,而不是窗口小部件的明显用户可变状态。例如,您可能具有一些属性,这些属性引用了要在整个配置更改中保留的业务对象(例如,发票,客户)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句