我在清算共享偏好数据时遇到了一些问题。
protected void onStop(){
super.onStop();
SharedPreferences settings = getSharedPreferences("SharedP", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("inputValue", et1.getText().toString());
editor.commit();
}
private void exitOptionsDialog() {
new AlertDialog.Builder(this)
.setTitle("Exit")
.setMessage("Are you sure you want to exit?")
.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface, int i) { } })
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface, int i) {
SharedPreferences settings = getSharedPreferences("SharedP", 0);
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
finish();
退出按钮说“是”此按钮将退出应用程序并清除之前输入/保存的数据。
我测试应用程序,然后在textview框中键入值,按home然后返回应用程序,值就在那里,并且一切正常并且正常工作。所以我去我的菜单 - >退出 - >对话框弹出询问用户是否退出,是,应用程序只是关闭它但是当我再次运行应用程序时,值仍然在textview中。
不确定我做错了什么:(
PS:我刚刚更新了editor.remove(“SharedP”);与editor.clear();问题仍然存在。
答案 0 :(得分:1)
您可以使用editor.clear();
SharedPreferences.Editor clear()
SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();