Android ListView不会通过方向更改来保留值

时间:2011-06-08 17:10:43

标签: android listview orientation

我对Android在视图方向更改中所持有的内容以及它不具备的内容感到有点困惑。

有些东西看起来很好,其他东西似乎没有..所以我不确定它是我的代码还是其他东西。 (我假设我做的事情很愚蠢)

我所拥有的是一个包含listview的视图,listview有一个简单的adapater和一个放入listview的地图项数组。

当方向发生变化时,我知道活动被销毁并重新创建,所以我认为我的简单适配器及其与列表视图的关系已经消失..所以listview不会旋转填充,我需要使用onRetainNonConfigurationInstance或onSaveInstanceState方法通过适配器或值列表?

这似乎太过分了,我无法相信Google的尖锐人物没有更简单的方法来处理这个问题..列表视图有一个ID,并且在定位之后我可以添加项目并且它工作正常,但是它只是没有保留它以前的价值。

我唯一的办法是通过明确的方式传递列表内容吗?我正在创建一个新的SimpleAdapter并将其链接到导致问题的onCreate列表吗?或者,当活动是什么时,我连接到适配器的项目数组被剔除了?这似乎不需要做太多工作......我错过了什么?

1 个答案:

答案 0 :(得分:3)

不,你也可以在Activity生命周期中拥有一个持久模型:

使用一种获取单身模型的方法定义单例应用程序。

在创建时,从模型中获取数据。

由于您的模型不会被重新创建但会持续存在,因此可以将其用作通过轮换更改来保留对象的解决方法。

此致  斯特凡