屏幕旋转建议

时间:2011-11-14 10:15:32

标签: android

  

可能重复:
  Android : Save application state on screen orientation change

在我的应用程序中,我有一个listView。启动应用程序时,它会自动加载该手机中存在的所有手机通讯录。因此,当我的手机旋转它再次开始加载时,每次我旋转设备时它都会一次又一次地开始读取。我应该在这做什么,所以我的联系人加载一次,甚至我旋转手机。

4 个答案:

答案 0 :(得分:4)

android:configChanges = "orientation"

在清单文件的活动中添加此标记。

答案 1 :(得分:1)

返回onRetainNonConfigurationInstance()中的数据,并使用onCreate()

getLastNonConfigurationInstance()中检索该数据

如果getLastNonConfigurationInstance()返回null,请再次请求数据。

这两个函数旨在用于在重新创建的同一活动的实例之间保存数据,因为配置更改(如方向)。

如上所述,您可以通过在清单中的活动代码中将要手动处理的事件添加到android:configChanges = "XXX"来停止Android销毁/重新创建此类配置更改的活动。如果您在纵向和横向时不需要不同的资源/布局等,这是合适的。 但是,如果只向configChanges添加方向,则当另一个事件触发要重新创建的活动时,您可能会遇到同样的问题 - 请查看:Handling run time changes

答案 2 :(得分:0)

您应该使用'内容提供商'。提供者将处理加载并将处理旋转,onPauses等。我做了一个西班牙语digg页面的前端,并遇到了同样的问题。这是项目,因此您可以了解如何解决问题:http://code.google.com/p/meneameandroid/

答案 3 :(得分:0)

想要给Yashwanth Kumar和。就像你需要覆盖加载内容的活动中的OnConfigurationChanged方法一样。