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