在共享首选项中,当调用editor.clear()方法时,它只删除值或删除键值对

时间:2016-09-09 07:55:31

标签: android sharedpreferences

使用共享首选项,当我调用editor.clear()时, 它只删除值(表示密钥可用)或删除键值对。

检查以下代码。

SharedPreferences userlogindetails = getSharedPreferences("userdetails", MODE_PRIVATE);
SharedPreferences.Editor edituserlogindetails = userlogindetails.edit();                
edituserlogindetails.clear();//**it delete values or key value pairs.**
edituserlogindetails.apply();

2 个答案:

答案 0 :(得分:2)

根据SharedPreferences.Editor#remove ,您必须致电remove()

  

删除

     

在API级别1中添加

     

SharedPreferences.Editor remove(String key)

     

在编辑器中标记应删除首选项值,这将在调用commit()后在实际首选项中完成。

     

请注意,在提交回首选项时,无论您是否在此编辑器上调用put方法之前或之后调用remove,都会先执行所有删除操作。

这是一个例子

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.remove("key"); //Your key here
editor.apply();

答案 1 :(得分:1)

删除/清除共享首选项的所有值。如果您想删除密钥,则必须使用Michele的答案中提到的删除。