我有一个名为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功能
答案 0 :(得分:0)
您的代码看起来正确SharedPreferences
部分。我相信可能还有未显示的代码的另一部分可能导致问题。
话虽如此,我建议使用editor.apply()
而不是.commit()
来在后台处理写入。