为什么在重新启动应用程序时,该值是否会保存到SharedPreferences中?

时间:2016-03-08 18:54:26

标签: java android

我有一个名为cup的函数,我想知道为什么这段代码没有保存i的值。当我关闭应用时,为什么它会将i返回0

public void cup(View view) {

    SharedPreferences sharedPreferences = getSharedPreferences("Water", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();

    i=sharedPreferences.getInt("Cup", 0);

    final int[] imageArray = {
       R.drawable.waterdrop1, R.drawable.waterdrop2, R.drawable.waterdrop3,          
       R.drawable.waterdrop4, R.drawable.waterdrop5, R.drawable.waterdrop6, 
       R.drawable.waterdrop
    };

    imageView7.setImageResource(imageArray[i]);

    i++;
    if (i > 6) {
        i = 6;
    }
    editor.putInt("Cup", i);
    editor.commit();      
}

知道杯子是onclick功能

1 个答案:

答案 0 :(得分:0)

您的代码看起来正确SharedPreferences部分。我相信可能还有未显示的代码的另一部分可能导致问题。

话虽如此,我建议使用editor.apply()而不是.commit()来在后台处理写入。