簡體   English   中英

如何設置共享首選項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM