gpt4 book ai didi

java - 当方向改变时,如何在 GridView 中保存位图图像的状态?

转载 作者:行者123 更新时间:2023-11-29 02:31:41 25 4
gpt4 key购买 nike

因此,我正在创建一个滑动拼图游戏应用程序,目前使用在 Activity 的 onCreate 方法中创建的位图数组列表填充 GridView。然后我使用 Collections.swap 来交换这些图像,然后我重新加载我的 GridView 以更新屏幕上的 GridView。

在手机的方向改变之前,这一切都完美无缺。 GridView 图像(拼图 block )返回到它们的开始发布(在 Collections.swap 之前)。

我已经能够通过使用 SharedPreferences 保存旋转的分数,而且效果很好。但是,我不知道如何将位图或位图的 ArrayList 保存到 SharedPreferences。有没有办法做到这一点?或者有其他选择吗?

最佳答案

我通过创建一个 onSavedInstanceState 方法来改变方向,该方法使用 state.putSerializable 保存我的列表数组:

@Override
protected void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);
state.putSerializable(tileLocationsKey, puzzleTilesList);
}

然后我通过这样做检查它们是否是我的 onCreate 方法中保存的实例状态:

if ((savedInstanceState != null) && (savedInstanceState.getSerializable(tileLocationsKey) != null)) {
puzzleTilesList = (ArrayList<Bitmap>) savedInstanceState.getSerializable(tileLocationsKey);
}

如果 != null 则它使用保存的列表数组。

关于java - 当方向改变时,如何在 GridView 中保存位图图像的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49353328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com