2014-07-19 61 views
0

我正在创建一个使用首选项的Android应用程序。我使用的偏好类型之一是EditTextPreference,它带有一个默认的Android对话框模式,带有文本输入以及OK和Cancel按钮。Android EditTextPreference - 清除存储的值

我想给用户清除列表首选项中的所有存储值的选项,我无法找到清除此EditTextPreference的值的方法。

我现在可以测试的方式是通过在OnCreate方法覆盖上清除它,但将来我会在用户单击按钮时清除它。

因此,问题:如何清除Android中EditTextPreference的存储值?我想删除任何正在保存的值

每次启动应用程序(即使从内存清除后),我输入的任何最新值都会返回。

+0

我明白了,在大多数情况下,我也希望如此,这是在接下来的时间地点要保存的信息用户使用该应用程序。但是如果我想清除所有的价值将应用程序作为新的应用程序呢?我希望这个储值被消除。 –

回答

1

只需在SharedPreference编辑器上调用clear即可。如果你想SharedPreference的管理方便,无需编写任何样板代码,我有很好的小库EasyPrefs

private void clearPrefs() { 
    SharedPreferences settings = getSharedPreferences(YOUR_PREFS_NAME, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.clear().apply(); 
} 
+0

这似乎工作得很好!如果我从手机中退出应用程序,价值似乎会恢复,但如果我从项目中重新运行它,它似乎会按照我希望的那样清除值。我可以继续从这一点开始工作,但如果您有其他建议,我很乐意听到他们的意见。感谢你!这对我来说是一个巨大的进步! –

+0

希望它为我工作。在过去的5个小时里,我尝试了这个网站上的所有解决方案,但是我无法实现它的工作。 Android如何做到这一点应该如此简单SOOO困难? –