如何在android中定位后不重新创建活动?

时间:2013-05-09 20:38:44

标签: android listview orientation

我的活动包含ListView,此listview填充了来自onCreate()函数中的网络服务的数据(使用AsyncTask)。当屏幕方向改变时,重新创建活动,我不希望这样。如何在更改方向后保存

3 个答案:

答案 0 :(得分:0)

在AndroidManifest.xml中为活动设置android:configChanges="orientation"

答案 1 :(得分:0)

您需要在AndroidManifest.xml中的Activity中添加它。只是添加“方向”不适用于所有设备。

android:configChanges="orientation|screenSize"

答案 2 :(得分:0)

虽然其他答案建议使用android:configChanges,但我认为这只是最后的选择,因为它意味着不会自动加载不同方向的资源。

相反,您应该使用活动的onSaveInstanceStateonRetainNonConfigurationInstance功能。 (如果使用片段,则应使用setRetainInstance而不是后一种选项。)

另一种选择是使用ContentProvider将您使用AsyncTask下载的数据存储到数据库中,这样就无需重新下载。

您应该阅读this了解更多信息。