正如问题标题所说,我试图在 onSaveInstanceState 期间保存一个 2d int 数组,尝试了显而易见的方法:
outState.putIntArray("matrix",matrix);
得到:
Error:(58, 39) error: incompatible types: int[][] cannot be converted to int[]
我应该做什么?
最佳答案
您可以将其转换为一维数组并将行长度存储为单独的数组。例如。在伪 Java 中:
int[] sizes;
int[] values;
for (int[] row : matrix)
{
values.append(row);
sizes.append(row.length);
}
outState.putIntArray("matrix_values", values);
outState.putIntArray("matrix_sizes", sizes);
我想很可能您的行大小都相同,在这种情况下您可以使用单个整数。
关于Android:如何在 onSaveInstanceState 期间保存 2d int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26926738/