У меня есть список, который загружается из общих предпочтений. когда пользователь нажимает на кнопку «Удалить», он должен быть удален из списка и уничтожен. Моя проблема в том, что конкретный элемент не удаляется из общих настроек, для этого я использовал приведенный ниже код,
SharedPreferences settings = getSharedPreferences(
OptionsActivity.PREFS_NAME, 0);
int deviceSize = settings.getInt("deviceSize", 0);
SharedPreferences.Editor editor = settings.edit();
String deviceName = items.get(index);
editor.remove(deviceName + String.valueOf(items.get(index)));
editor.remove("deviceName" + String.valueOf(index));
int deviceid = settings.getInt("deviceId"+String.valueOf(items.get(index)),0);
editor.remove("deviceId" + String.valueOf(deviceid));
editor.putInt("deviceSize", deviceSize - 1);
editor.commit();
По этому коду работает только deviceSize-1, поэтому кажется, что он удален из списка, но когда я вижу общий файл настроек, это не так. Мой общий файл настроек находится ниже,
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="deviceName1">APPLE</string>//delete when click on delete
<int name="deviceId1" value="0" /> //delete when click on delete
<int name="deviceSize" value="1" /> //decrease by one when item deleted
</map>
когда пользователь нажимает на кнопку «Удалить», я хочу удалить эти 3 строки из файла предпочтений. Как удалить всю строку? В списке отображается только имя (ЯБЛОКО).
commit()
после? - person Maxim Shoustin   schedule 15.11.2012