2 sachinks SachinKS 于 2013.06.21 11:34 提问

SharedPreferences重写其它值

有一个问题关于SharedPreferences ,如果要保存两个不同的值,代码:

SharedPreferences sharedPref = getSherlockActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.SavedStartSilentHour), hour);
editor.commit();
editor.putInt(getString(R.string.SavedStartSilentMinute), min);
editor.commit();    
// One editor.commit() is enough

但是第二个值会覆盖第一个值。如果删除第二部分,保存就正确。为什么?

2个回答

Jave_
Jave_   2013.06.21 11:40
已采纳

把第一个editor.commit();去掉看看呢

SachinKS
SachinKS 谢谢!原来是因为<string name="SavedStartSilentHour">0</string><string name="SavedStartSilentMinute">0</string>我修改了值就正常了~
接近 5 年之前 回复
ll_0520
ll_0520   2013.06.22 17:06

editor.commit(); 最后调用一次就行了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!