我的活动包含ListView
,此listview
填充了来自onCreate()
函数中的网络服务的数据(使用AsyncTask
)。当屏幕方向改变时,重新创建活动,我不希望这样。如何在更改方向后保存
答案 0 :(得分:0)
在AndroidManifest.xml中为活动设置android:configChanges="orientation"
。
答案 1 :(得分:0)
您需要在AndroidManifest.xml中的Activity中添加它。只是添加“方向”不适用于所有设备。
android:configChanges="orientation|screenSize"
答案 2 :(得分:0)
虽然其他答案建议使用android:configChanges
,但我认为这只是最后的选择,因为它意味着不会自动加载不同方向的资源。
相反,您应该使用活动的onSaveInstanceState
或onRetainNonConfigurationInstance
功能。 (如果使用片段,则应使用setRetainInstance
而不是后一种选项。)
另一种选择是使用ContentProvider
将您使用AsyncTask
下载的数据存储到数据库中,这样就无需重新下载。
您应该阅读this了解更多信息。