我尝试使用我的应用中的警告对话框删除共享偏好设置数据,所以:
设置共享首选项:
SharedPreferences settings = getSharedPreferences("MyPrefsFile", 0);
startLat = Double.longBitsToDouble(settings.getLong("startLat", 0));
endLat = Double.longBitsToDouble(settings.getLong("endLat", 0));
删除数据方法:
public void discardLocation() {
SharedPreferences.Editor settings = getSharedPreferences("MyPrefsFile", 0).edit();
settings.clear();
settings.commit();
Toast.makeText(MainActivity.this, "Location Discarded!",
Toast.LENGTH_LONG).show();
}
答案 0 :(得分:0)
您的主要活动应声明您的首选项背景...
PreferenceManager.setDefaultValues(this, R.xml.default_values, false);
然后你得到一个编辑器并提交更改。它应该工作。
存在两种类型的提交,您应该查看API。
SharedPreferences.Editor ed = PreferenceManager.getDefaultSharedPreferences(mactivity).edit();
ed.putString("default_parse_user_oid", id);
ed.putString("default_parse_user_token", token);
ed.apply();
答案 1 :(得分:0)
实际答案:
我弄清楚为什么SharedPreferences
不适合我。
基本上我从未在全球范围内设置SharedPreferences
变量!
解决方法:
还没弄清楚为什么我无法使用SharedPreferences
然而,有一个解决方法。如果你要存储任何类型的数字(int,double),你可以将它们设置回deleteCoordinates()
方法中最初的数字。
例如在我的代码中,我正在使用坐标。坐标默认设置为0:
double startLat = 0;
double endLat = 0;
因此在将坐标设置为另一个值之后。 (坐标永远不会为0)你只需在deleteCoordinates()
中将它们设置为0。
startLat = 0;
endLat = 0;