使用共享首选项,当我调用editor.clear()时, 它只删除值(表示密钥可用)或删除键值对。
检查以下代码。
SharedPreferences userlogindetails = getSharedPreferences("userdetails", MODE_PRIVATE);
SharedPreferences.Editor edituserlogindetails = userlogindetails.edit();
edituserlogindetails.clear();//**it delete values or key value pairs.**
edituserlogindetails.apply();
答案 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的答案中提到的删除。