Mar*_*nom 1 android sharedpreferences
所以我试图为我添加一些值,SharedPreferences但每次单击按钮时它都会使用默认值,00所以我的if语句总是返回true,即使它不应该.
private static final String SHARED_FREFS = "sharedPrefs";
private static final String STATE = "state";
Run Code Online (Sandbox Code Playgroud)
这是按钮点击事件
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!");
}
}
});
Run Code Online (Sandbox Code Playgroud)
我试图将当前分钟存储在那里,但它没有这样做.我是否需要一个名为data的文件夹,其中包含一个名为的xml文件sharedPrefs?
为什么我的SharedPreferences不会保存按钮点击?
因为您忘了保存更新 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!");
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |