我的 Android 共享首选项是:
核心价值
jhon,usa
xxx彼得,英国
luis,mex
xxxangel,意大利
弗兰·杜邦
xxx查尔斯,比利时
...
更多带有 xxxname 的行
...
如何删除键中包含(或开头)以 xxx 的键/值。这是我到目前为止得到的:
public void Deletekeyxxx() {
final SharedPreferences.Editor sped = sharedPreferences.edit();
if(sped.contains("xxx")){
sped.remove(sped.contains("xxx"));
}
sped.commit();
}
作品!谢谢本·P。
public void Deletekeyxxx() {
final SharedPreferences.Editor sharedPrefsEditor = sharedPreferences.edit();
Map<String, ?> allEntries = sharedPreferences.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
String key = entry.getKey();
if (key.contains("xxx")) {
sharedPrefsEditor.remove(key);
}
sharedPrefsEditor.commit();
}
}
您可以使用SharedPreferences.getAll()检索一个Map<String,?>
,然后使用Map.keySet()
迭代键。也许是这样的:
private void removeBadKeys() {
SharedPreferences preferences = getSharedPreferences("Mypref", 0);
SharedPreferences.Editor editor = preferences.edit();
for (String key : preferences.getAll().keySet()) {
if (key.startsWith("xxx")) {
editor.remove(key);
}
}
editor.commit();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)