簡體   English   中英

SharedPreferences默認值

[英]SharedPreferences default values

我有一個settings.xml文件,其中包含我的應用程序的首選項。 默認情況下,所有值都設置為“true”,並且我的應用中的PreferenceActivity使用它。 在我的主要活動中,我通過讀取值

     SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(appContext);
     Boolean key = sp.getBoolean("M", false);

除了第一次,它在任何跑步中都能得到我所需要的一切。 只有當我第一次打開我的應用程序並且沒有打開我的設置菜單時,我才會“假”。 我的意思是我必須打開菜單,然后才能正確運行應用程序。

有什么建議么?

因為yor第一次獲得默認值。 這是假的 - >

Boolean key = sp.getBoolean("M", false);

用這個

Boolean key = sp.getBoolean("M", true);

使用sp.getBoolean("M", true); 代替。 首選項文件中的默認值是首次啟動首選項活動時的默認值。 SharedPreferences對您的settings.xml一無所知。

或者,您可以擁有一個單獨的defaults.xml文件(或任何其他名稱),其中包含所有首選項的所有默認值。 然后在settings.xml( @bool/default_M_value )和應用程序( sp.getBoolean("M", getResources().getBoolean(R.bool.default_M_value)) )中使用這些值。

我個人會堅持第一種方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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