【问题标题】:Listview checked items disappear after screen rotation [closed]屏幕旋转后Listview检查项目消失[关闭]
【发布时间】:2014-08-07 16:25:09
【问题描述】:

我已经实现了列表视图,并且还可以存储选中的列表项。但是当我旋转设备时,在列表视图中所做的选择消失了。

如何解决?

谢谢。

【问题讨论】:

  • 我们需要更多信息。请提供一个最小的代码示例来重现您所询问的问题。
  • check this answer,也许你会得到一些帮助。
  • 您还必须使用 onSavedInstanceState() 来保存位置,使用 onRestoreInstanceState() 来获取保存位置。

标签: android android-listview


【解决方案1】:

当屏幕旋转时,您的 Activity 会重新创建。当它被重新创建时,对列表所做的任何更改都不会得到回报。保持选中状态的最简单方法是使用包在 onSavedInstanceState() 方法中保存选中位置。这是在方向改变发生并且您的活动被破坏之前调用的。然后您可以通过 onCreate()onRestoreInstanceState() 方法恢复到之前的状态。

【讨论】:

  • 工作就像一个魅力! :) 谢谢...
【解决方案2】:

最好的方法是添加: android:configChanges="keyboardHidden|orientation|screenSize"- 在活动清单中

【讨论】:

  • 这不是最好的方法,is not recommended,因为可能会发生其他一些配置更改来重新创建您的活动,以及您的活动在后台的时间过长(android 将保存您的活动状态并销毁它以便稍后重新创建)。
猜你喜欢
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
相关资源
最近更新 更多