如果在ListPreference上单击取消,如何不保存到SharedPreferences

时间:2014-03-04 02:33:16

标签: java android

我需要这样做,以便在ListPreference打开时推送取消或返回时,该值不会保存在SharedPreferences中,并且对应用程序不起作用。我的应用程序中的所有内容都在工作,并且一直在寻找某种类型的解决方案但却找不到它。 谢谢! 编辑: 有没有办法在没有选择任何值的情况下启动列表首选项?

2 个答案:

答案 0 :(得分:1)

好吧,我正在玩耍并想出来。我这样做的方式是我在res / values / string.xml中创建了一个字符串并给它自己的id(@ + id / none)。然后在ListPreference信息的res / xml / preferences.xml中添加了android:defaultValue =“id / none”。现在,当我打开首选项列表时,没有选择任何默认值。

答案 1 :(得分:0)

您可以在应用中明确处理取消和反压事件,并相应地执行相应操作。

后退按钮可以通过以下方式处理:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // your code
        return true;
    }

    return super.onKeyDown(keyCode, event);
}