可能重复:
Android : Save application state on screen orientation change
在我的应用程序中,我有一个listView。启动应用程序时,它会自动加载该手机中存在的所有手机通讯录。因此,当我的手机旋转它再次开始加载时,每次我旋转设备时它都会一次又一次地开始读取。我应该在这做什么,所以我的联系人加载一次,甚至我旋转手机。
答案 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方法一样。