我有一个片段,其中包含许多 EditText。当我旋转设备时,EditText 变为空白。片段未保存其状态/值。但同时,如果我将该片段布局用于活动,它会存储 EditText 的状态。是的,我已经为每个 EditText 提供了 ID,如果重要的话,甚至是每个视图。
我知道我可以使用 saveInstanceState 来保存这些值,但是还有其他方法吗?因为该片段中几乎有 20 个 EdiText,所以我应该使用 saveInstanceState,将这么多变量/值保存在 saveInstanceState 中可以吗?
更新: 我在改变方向的活动中重新创建片段,所以这就是 EditText 无法保存其状态的原因。如此愚蠢的错误!所以现在我只使用了 saveInstanceState ,如下所示:
if (savedInstanceState == null) {
initialiseNewTaskFragment();
}
就是这样。EditText 现在正在保存它的状态。感谢 JorgeGil 节省了我的时间!