2017-07-15 59 views
0

美好的一天,PreferenceScreen默认设置在第一轮运行

我有一个问题 - 我有PreferenceScreen ListPreference具有默认值。然后,我有一个Activity从该ListPreference获取值,但如果我不首先打开PreferenceScreen,它将返回“null”。

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
    String prefSize = sp.getString("size", null); 
    Size = Integer.parseInt(prefSize); 
    mySize = Size; 

是否有可能对此做些什么?如果我打开我的PreferenceScreen,然后转到活动,它会返回默认值,但如果我在打开PreferenceScreen(只是打开,不更改任何设置)之前在第一次运行期间打开我的活动,它会崩溃。

非常感谢!

回答

0

试试这个

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
String prefSize = sp.getString("size", "1");//provide deafult values to parse into int for first time 
Size = Integer.parseInt(prefSize); 
mySize = Size; 
+0

谢谢!解决了这个问题,但我想知道是否有办法从PreferenceScreen初始化设置! – Codescape