我試圖以編程方式從SharedPreferences列表視圖中刪除其中一個選項。我已在下面包含簡化代碼。從SharedPreferences刪除ListView選項
我已閱讀了大量類似的問題,但它似乎不適用於我。我必須誤解一個關鍵概念。請幫忙。
我嘗試過使用clear()和apply()。我也嘗試添加一行,而不是刪除所有沒有成功。
我想我可能會誤解使用哪個鍵的概念,並嘗試過交替,但似乎沒有任何工作。
我preferences.java
package il.preferences;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
SharedPreferences preferences = getSharedPreferences(
"myKey", MODE_PRIVATE);
preferences.edit().remove("1").commit();
}
}
我preference.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="Cat X" >
<ListPreference
android:defaultValue="1"
android:entries="@array/myOptions"
android:entryValues="@array/myValues"
android:key="myKey"
android:summary="Select an item"
android:title="Choose" />
</PreferenceCategory>
</PreferenceScreen>
我的strings.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
<string-array name="myOptions">
<item>A</item>
<item>B</item>
<item>C</item>
</string-array>
<string-array name="myValues">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
</resources>