共有設定からロードされるリストビューがあります。ユーザーが削除をクリックすると、リストから削除され、設定が細断処理されます。私の問題は、特定のアイテムが共有設定から削除されないことです。これは、コードの下で使用したためです。
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 行の設定ファイルを削除したいと考えています。行全体を削除するには? リストには名前 (APPLE) のみが表示されます。