設定画面でCheckBoxPreferenceを使用しています。 XMLは次のとおりです。Preferenceのデフォルト値をリセットする
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference android:key="includeAddress"
android:title="Include Address"
android:summary=""
android:defaultValue="true" />
<CheckBoxPreference android:key="rememberName"
android:title="Remeber Name"
android:summary=""
android:defaultValue="false" />
</PreferenceScreen>
アプリケーションで値を変更します。ユーザーがログアウトすると、xmlで定義されているデフォルト値に設定する必要があります。しかし、それは動作していないようです。彼らは私が最後に選んだ価値を保ちます。
はAndroidのドキュメントを読んでたので、私はこれが見つかりました:
PreferenceManager.setDefaultValues(getApplicationContext(), R.xml.preference_settings, true);
をしかし、それはほとんど仕事をしていません! SharedPreferencesで他の方法で試してみました。
SharedPreferences preferences = getParent().getSharedPreferences("preference_settings", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
いずれも機能しませんでした。
何か不足していますか?どのように私はXMLで定義されたデフォルト値にプリファレンスを設定できますか?
ありがとうございます!
私は別にxmlファイルをres/xmlフォルダに定義し、addPreferencesFromResource(R.xml.preference_settings)を使用して追加しました。 Prefsクラスで使用します。私はデフォルト値を設定しようとする別のクラス、ログアウトを持っています。 – Renjith
更新私の答え – Nermeen
あなたはそれを落とした、ブラボー!ありがとう! – Renjith