gpt4 book ai didi

android - 为什么我的 SharedPreferences 在单击按钮时不保存?

转载 作者:行者123 更新时间:2023-11-29 14:21:09 27 4
gpt4 key购买 nike

所以我试图向我的 SharedPreferences 添加一些值,但每次我单击按钮时它都会使用默认值 00 所以我的 if 语句总是返回即使它不应该是真的。

private static final String SHARED_FREFS = "sharedPrefs";
private static final String STATE = "state";

这是按钮点击事件

public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_FREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();

int currentTime = Calendar.getInstance().getTime().getMinutes();
String eh = sharedPreferences.getString(STATE, "00");

if(!Integer.toString(currentTime).equalsIgnoreCase(sharedPreferences.getString(STATE, "00"))){
GetData();
editor.putString(STATE, Integer.toString(currentTime));
Log.e("ATTENTION!:", "METHOD HAS BEEN FIRED!");
}
}
});

我正在尝试将当前分钟存储在那里,但它没有这样做。我是否需要一个名为 data 的文件夹,其中包含一个名为 sharedPrefs 的 xml 文件?

最佳答案

Why don't my SharedPreferences save on button click?

因为您忘记在您的SharedPreferences 中保存更新

添加后需要使用editor.apply();editor.commit(); SharedPreferences

中的数据

样本

public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_FREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();

int currentTime = Calendar.getInstance().getTime().getMinutes();
String eh = sharedPreferences.getString(STATE, "00");

if(!Integer.toString(currentTime).equalsIgnoreCase(sharedPreferences.getString(STATE, "00"))){
GetData();
editor.putString(STATE, Integer.toString(currentTime));
editor.apply();
Log.e("ATTENTION!:", "METHOD HAS BEEN FIRED!");
}
}
});

关于android - 为什么我的 SharedPreferences 在单击按钮时不保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54625407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com