-1

在android上,¿我可以在旋转屏幕时保存和恢复当前的listview适配器吗?为了做到这一点,我必须将适配器保存在方法 onSaveInstanceState 中,但是如何获取列表活动的当前适配器?谢谢。

4

3 回答 3

2

如果您在旋转时不需要在活动中使用不同的布局,则可以通过添加以下内容来防止在清单中旋转后重新创建它:

android:configChanges="orientation|screenSize"

在清单中的活动描述中。

于 2013-02-01T15:26:32.343 回答
0

要么(您可能不喜欢)禁用屏幕旋转

<activity android:name="YOUR ACTIVITY"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
</activity>

或者,从 Web 获取数据后,将数据保存在 ArrayList 中,然后(屏幕旋转后)将其再次传递给适配器。既然你做过一次,你应该已经在某个地方拥有你的数据......

于 2013-02-01T15:26:58.970 回答
0

使您的适配器成为一个类范围的变量,并检查它是否在每次方向更改时设置(或出于任何原因您的活动正在重新启动)。如果已设置,请使用此数据适配器。如果没有,请再次下载数据并将下载的内容保存到类范围的适配器。

于 2013-02-01T15:30:16.747 回答