问题描述
我在首选项中存储了许多数值和一些布尔值。数字没有问题,它们完全按照我的期望进行保存和从内存中读取。但是逻辑值并非总是如此。出于某种原因,有时会发生一个值被保存的情况(我检查了调试期间的值),而下一次读取了另一个值。然而,这并非总是如此。我不明白为什么会这样。我已经搜索了有关首选项的问题,但没有找到任何类似的问题。也许我做错了。 这是一段代码:
private Preferences preferences;
preferences = Gdx.app.getPreferences(prefName);
private void savePref() {
preferences.put(getMap());
preferences.put(getBool());
preferences.flush();
}
public void loadPref() {
if (preferences.contains(someValue) {
for (Map.Entry<String,Integer> integerEntry : getMap().entrySet()){
getMap().put(integerEntry.getKey(),preferences.getInteger(integerEntry.getKey()));
}
for (Map.Entry<String,Boolean> integerEntry : getBool().entrySet(){
getBool().put(integerEntry.getKey(),preferences.getBoolean(integerEntry.getKey()));
}
}
}
UPD:
我仍然不明白为什么,但是一切都可以在模拟器上正常运行,但不能在手机上正常运行。我想我做的一切都正确,问题不在于我。
我仍然很高兴知道这种情况为什么会发生。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)