android - 首次运行时的PreferenceScreen默认设置

标签 android null crash listpreference preferencescreen

美好的一天,

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

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

可以做些什么吗?如果我打开我的PreferenceScreen,然后转到 Activity ,它将返回默认值,但是如果我在打开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;

关于android - 首次运行时的PreferenceScreen默认设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45115600/

相关文章:

android - 我应该使用哪种跨平台应用程序构建工具?

ruby-on-rails-3 - Heroku dyno/worker 在开始时崩溃

ios - Swift SourceKitService 崩溃

c# - 保护 foreach 循环免受 null 影响的更智能方法

C# 可以将值类型与 null 进行比较

java - JBoss 5.1.0GA "user null is NOT authenticated"问题

ios - UICollectionView 在 PerformBatchUpdates 上崩溃

java - android 2.3 出现内存泄漏错误

java - 在 WebView 内对齐 ImageView

android - 从 Android Studio '3.2 Canary 16' 升级到 '3.2 Beta 1' 后数据绑定(bind)编译错误