关闭应用程序时保存ImageViews的状态

时间:2020-08-04 13:11:47

标签: java android

我有一个应用,它的活动如下: https://i.stack.imgur.com/hybAT.png(它们是10个ImageView,当您单击一个时,您将进入此级别)

此活动开始时,我有这个布尔数组(当我完成一个级别时,该数组的一个元素变为true)

    boolean[] nivelSuperado = {false, false, false, false, false, false, false, false, false, false};

,并且此on循环位于onCreate中:

for (int i = 0; i < nivelSuperado.length; i++) {
        if (nivelSuperado[i]) botones[i].setBackground(getDrawable(R.drawable.nivel_superado));
    }

它起作用,并且级别的ImageView更改为具有绿色背景的另一个ImageView。但是,当我关闭该应用程序并再次打开它时,没有任何绿色的ImageViews。我尝试使用onPause onResume和onSaveInstancedState进行尝试,但无法使其正常工作。

1 个答案:

答案 0 :(得分:0)

一旦应用关闭,所有变量的值将被操作系统删除。因此,下次您打开该应用程序时,它们都将具有其默认值(或您在代码中分配给它们的值)。不是您上次设置的值。

如果您想保存变量的值以备将来使用,可以使用sharedprefrrences或不建议使用的情况。

您还可以尝试创建一个数据库来存储Here的值,您可以找到有关哪种类型的数据存储可以满足您的要求的更多信息。