【问题标题】:Keep Android Preferences From "Remembering" State使 Android 首选项远离“记忆”状态
【发布时间】:2014-11-01 18:24:34
【问题描述】:

我正在使用 PreferenceFragment 为我的用户提供清晰、一致的布局。但是,对于这个特定的屏幕,我需要每次访问时始终将信息清除/新鲜/空白/重置。

例如: 用户在我的 PreferenceFragment xml 视图中的 EditTextPreference(比如说“mText”)上输入一些文本。当用户退出屏幕并返回到相同的 PreferenceFragment 时,我需要 NOT 让“mText”在他们单击时显示在 EditTextPreference 中。目前,它正在出现。或者说用户检查了 CheckBoxPreference。当他们回来时,需要再次取消选中(默认值/状态)。

我了解我可以手动将代码中的值设置为我想要的值(即空白/重置)。但是,这似乎很乏味,而且不是正确的做法。

【问题讨论】:

    标签: android preferences preference preferencefragment


    【解决方案1】:

    您可以在片段的 onPause() 方法中执行以下操作:

    @Override
    public void onPause() {
        super.onPause();
        mEditTextPreference.getEditor().clear().apply();
    }
    

    【讨论】:

    • 你确定吗?文档说它将清除首选项中的 all 值。 developer.android.com/reference/android/content/…
    • 哎呀,完全误读了getEditor().clear。我想你是对的。 :)
    • 你也可以使用 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);然后 prefs.edit().clear().apply();
    • 是的,我想。非常感谢!你的答案正是我想要的。
    猜你喜欢
    • 2018-05-14
    • 1970-01-01
    • 2012-11-29
    • 2023-03-12
    • 2015-07-13
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多