[英]how to set a shared preference
我試圖設置一個共享的首選項,但是下面的代碼在兩種情況下都會導致false
。
當標志不存在時,我首先獲取該標志的值,並期望為false
。 但是,然后將值設置為true
並再次獲取標志,這一次我期望為true
但仍然為false
。
SharedPreferences sharedPref = getSharedPreferences("myapp",0);
//fetch value when it does not exist
Boolean mobileFlag = sharedPref.getBoolean("mobile_flag", false);
Log.d("mobileFlag1", mobileFlag+"");
//set the value
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("mobile_flag",true);
//fetch value when it has been set.
mobileFlag = sharedPref.getBoolean("mobile_flag", false);
Log.d("mobileFlag2", mobileFlag+"");
兩次日志消息的結果均為:
D/mobileFlag1﹕ false
D/mobileFlag2﹕ false
您未提交新值
editor.putBoolean("mobile_flag",true).commit();
在SharedPreferences中完成變量的編輯后,需要提交更改。
editor.commit();
使用editor.putBoolean("mobile_flag",true);
您需要放置editor.commit()
。 這將保存您的sharedPreference,否則將不保存任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.