最近,我发现了共享首选项的奇怪行为:
我的代码必须获取某个存储值的值,将其加1并再次存储。所以我用了下面的代码:
int count = sharedPreferences.getInt("complBetterCount", 0);
editor.putInt("complBetterCount", count++);
editor.apply();
但是此代码未添加1。在我将其替换为以下代码后,它起作用了:
int count = sharedPreferences.getInt("complBetterCount", 0);
count++;
editor.putInt("complBetterCount", count);
editor.apply();
有人可以向我解释为什么吗?
由于count++
,count
之后增加。您需要先++count
才能递增。
int count = sharedPreferences.getInt("complBetterCount", 0);
editor.putInt("complBetterCount", ++count);
editor.apply();