【问题标题】:android sharedpreferences set valueandroid sharedpreferences 设置值
【发布时间】:2011-03-20 16:53:07
【问题描述】:

我有偏好页面。它具有“显示信息屏幕”字段(作为复选框)。

我也有信息页面,其中也应该有“再次显示”复选框。

据我所知,我可以通过PreferencesManager.getDefaultPreferences(context) 从偏好页面中获得价值...

但是我应该如何为信息页面上的复选框设置首选项值?

我尝试使用context.getSharedPreferences(PREF_NAME, 0).edit() 来设置值,但它与 PreferencesManager 的对应值无关。

我该怎么办??? F1

【问题讨论】:

    标签: android preferences


    【解决方案1】:

    这取决于您是追求应用程序的一组首选项,还是每个活动一组。

    我使用过这样的代码:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
    Editor editor = prefs.edit();
    editor.putBoolean(PREF_NAME, false);
    editor.commit();
    

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
    if (prefs.getBoolean(PREF_NAME, true)) {
        // etc
    }
    

    【讨论】:

    • +1 以获得很好的答案。我要强调的是,Editor不是一个等待用户交互的模态可视化编辑器。这只是一种与SharedPreferences.getString()相反的原子方式。
    • 使用 apply() 而不是 commit() 会在后台执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多