ed.commit()
을 추가하십시오.
즉 :
SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
SharedPreferences.Editor ed = sp.edit();
ed.putBoolean("isPhysicalTheftEnabled", false);
ed.commit();
SharedPreferences.Editor
들 변경 사항을 적용하기 위해 당신이 당신 된 SharedPreferences에 변경 아무것도를 저지해야합니다. ANKIT의 대답에 귀하의 코멘트에 대해서는
:
SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
myCheckBox.setChecked(sp.getBoolean("isPhysicsTheftEnabled", [true/false]);
:
당신이 SharedPreferences
에 저장 부울의 값에 따라 CheckBox
의 확인 속성을 설정하려면, 당신은 뭔가를해야합니다. def_value
이 .getBoolean()
인 경우 true
또는 false
중 하나를 선택합니다 (SharedPreferences
이 부울을 찾을 수없는 경우).
나는 .commit했다(); 이미 체크 박스가 체크되지 않은 채로 있지 않았다면, 그 이유는 무엇입니까? – dythe
코드 조각을 게시 해주세요. 'SharedPreferences'에서 부울을 올바르게 가져 왔고 CheckBox의'.setChecked()'를 그 부울의 값으로 설정하고 있습니까? – Mxyk
'PreferenceActivity'를 사용하지 않으면 checkBoxObject.setChecked (sharedPreferences.getBoolean ("isPhysicalTheftEnabled", false))를 통해'CheckBox' 상태를 수동으로 설정해야합니다.' – nkr