[英]Activity onSaveInstanceState in the absence of view IDs
Activity#onSaveInstanceState
的默认实现是:
默认实现通过在具有ID的层次结构中的每个视图上调用onSaveInstanceState()来为您处理大多数UI每个实例状态
Android数据绑定指南以及此视频 -幻灯片9建议我们在使用数据绑定时不再需要视图ID。 我的问题是:缺少View ID如何影响状态保存/还原?
可以说,当使用数据绑定时,不应该依赖默认机制来保存/恢复状态,而应该依赖于绑定到布局的ViewModel来拥有最新状态,但是我仍然很想知道关于影响。
您不需要ID并不意味着您永远不要使用ID。 那是为了更新您的视图。 在许多其他情况下,id很有用,例如RelativeLayout中的规则。
因此,如果状态恢复对于您的用例很重要(例如,您的模型需要一段时间才能恢复),则请务必放置id并禁用绑定,直到数据准备就绪为止。
我的问题是:缺少View ID如何影响状态保存/还原?
为了直接回答您的问题,缺少视图ID将阻止onSaveInstanceState恢复该视图。 对于没有ID的视图,Android的文档仍然适用。
没有ID的所有视图仍将被重新创建,但是它们不会恢复其状态。
我只是在一个简单的应用程序中对此进行了测试,没有ID的视图没有恢复其状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.