第一 运行 期间的 PreferenceScreen 默认设置

PreferenceScreen default settings during first run

美好的一天,

我有一个问题 - 我的 PreferenceScreen 的 ListPreference 具有默认值。然后,我有一个 Activity 从该 ListPreference 获取值,但如果我不先打开 PreferenceScreen,它会 returns "null"。

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

是否可以对此做些什么?如果我打开我的 PreferenceScreen 然后转到 activity 它 returns 默认值,但是如果我在打开 PreferenceScreen 之前的第一个 运行 期间打开我的 Activity (只是打开,不更改任何设置)应用程序崩溃。

非常感谢!

试试这个

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;