我正在尝试在Android中创建一个应用程序,使用Eclipse ADT并使用HTC手机。问题出在这里:从Eclipse手机上运行应用程序后,我将元素添加到ListView中,一切都很好,但是当我在横向模式下打开设备时,孔应用程序似乎重新启动,内部没有更多记录。这就像新的一样。任何想法为什么以及如何解决这个问题?请不要告诉我从手机设置中停用屏幕旋转选项。
答案 0 :(得分:3)
这是android处理方向更改的方式。它会重新加载您的整个活动。处理这种情况的常用方法是在onPause()
中保存您的活动状态,然后在onCreate()
中将其恢复。
以下是有关Android活动生命周期的更多信息:
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
编辑:
无论如何,您应该实施onPause()
,因为如果电话在您的活动中间响起,也会调用它。在这种情况下,当用户从通话中回来时,您的活动可能会再次从头开始重新加载,用户将失去其状态。
答案 1 :(得分:1)
答案 2 :(得分:1)
我就这类事做出了回答over here。
请不要告诉我从手机设置中停用屏幕旋转选项。
我不确定你是否有以下意思,但这是一个解决方案:
将android:configChanges="orientation|screenSize"
添加到您<activity
中的AndroidManifest.xml
标记中,如下所示:
<activity
android:name="activity_name"
android:label="@string/app_name"
android:configChanges="orientation|screenSize" />
这样可以防止在方向改变时破坏活动,就像通常那样。还有其他方法可以解决这个问题。如果这不是您想要的解决方案,请发表评论。我可以弥补另一个。