gpt4 book ai didi

java - Android 在屏幕更改时保存和恢复 ArrayList

转载 作者:行者123 更新时间:2023-11-29 08:53:12 26 4
gpt4 key购买 nike

我有我用计时器拍摄的时间列表,如果我旋转屏幕,它们就会被删除。我尝试了以下代码,但它崩溃了。我认为保存/恢复格式有问题。

ArrayList<Long> timesList = new ArrayList<Long>(); // List of partial times in milliseconds

/** Save state while screen orientation changes */

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.

savedInstanceState.putSerializable("PartialTimes", timesList);

}


/** Restore state while screen orientation changes */

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.

timesList = (ArrayList<Long>) savedInstanceState.getSerializable("PartialTimes");

}

最佳答案

仅用于保存

Long[] array = new Long[list.size()];
array = list.toArray(array);
savedInstanceState.putLongArray("PartialTimes", array);

并用于检索

ArrayList<Long> list = Arrays.asList(savedInstanceState.getLongArray("PartialTimes"));

关于java - Android 在屏幕更改时保存和恢复 ArrayList <Long>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658908/

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