0

这个对吗?

  1. 在布局中有一个标记为不可见或消失的复选框。
  2. 创建后,将复选框标记为可见(即选择按钮后)。
  3. 执行配置更改(例如旋转设备)。
  4. 先前标记为可见的复选框未显示。

但是,复选框的选中状态保持不变,这让我很困惑,保存了哪些信息,没有保存哪些信息?

确保配置更改后视图保持可见的最佳方法是什么?

谢谢,扎克

4

2 回答 2

1

除非您另外指定,否则配置更改将导致您当前的活动被破坏。尝试检查该复选框的可见性是否可见。

在另一种情况下,旋转设备会导致布局更改,请检查横向和纵向的布局文件,检查是否可以看到正确放置的复选框。

于 2015-04-14T20:49:56.810 回答
1

配置更改迫使活动经历一个完整的生命周期。这意味着它将与您的视图一起被销毁并重新创建。

默认情况下不保留视图的可见性状态。onSaveInstanceState() 的定义在这里

“这种状态应该只包含不持久或以后无法重建的信息。”

您可以使用自定义 CheckBox 实现来保存其可见性状态,也可以将此状态保存为您的活动/片段中的布尔值 (buttonPressed = true),并在扩展布局后设置可见性。后者会更容易。

于 2015-04-14T20:53:48.150 回答