恢复片段在后台中旋转和位置的先前状态

时间:2018-05-04 13:02:37

标签: android fragment onsaveinstancestate onrestoreinstancestate

我有一个带有单个活动的应用程序,向用户显示一个片段。单击一个按钮,活动会显示另一个片段,但将前一个片段保留在backstack中。我现在有两个问题:

  • 在轮换时(特别是在第二个片段中),清除EditTexts中输入的数据
  • 我希望backstack也可以使用先前在第二个片段中输入的文本进行恢复。

问题在于,当我使用OnSaveInstanceState(...)将数据保存到捆绑包时,我成功地从OnViewCreated(...)再次获取数据,但是当我使用editText.setText(str)时,文本未显示。

目前,我认为这是因为该片段随后被父活动破坏并重新创建。

如何使其正常工作?

感谢。

1 个答案:

答案 0 :(得分:0)

使您的片段可以保留:

setRetainInstance(true);

请参阅以下有关方向更改状态android orientation changes`

的指南