can*_*nel 3 android key sharedpreferences
我的 Android SharedPreferences 是:
核心价值
约翰,美国
xxxpeter,英国
路易斯,墨西哥
xxxangel,意大利
杜邦,法兰
xxxcharles,belg
...
更多带有 xxxname 的行
...
如何删除包含(或以 xxx 开头)的键/值。这是我到目前为止得到的:
public void Deletekeyxxx() {
final SharedPreferences.Editor sped = sharedPreferences.edit();
if(sped.contains("xxx")){
sped.remove(sped.contains("xxx"));
}
sped.commit();
}
Run Code Online (Sandbox Code Playgroud)
作品!谢谢本 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();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |