7

PreferenceScreen の xml に基づいて PreferenceActivity を作成しました。xml では、さまざまな設定にデフォルト値を割り当てることができます。しかし、これらは画面が開いたり閉じたりする前に私の SharedPreferences に保存されません。

問題は、この画面に保存されている設定 (サーバー アドレスなど) をすぐに使用したいことです。ユーザーは、デフォルト値を変更したい場合にのみ開く必要があります。

ユーザーに設定アクティビティを強制的に開いたり閉じたりせずに、preferencescreen xml からすべての設定を保存する方法はありますか?

SharedPreferences から Preference を取得するときにデフォルト値を指定できることは承知していますが、xml とコードの両方でデフォルト値を維持しなければならないのはばかげています。

4

1 に答える 1

13

このコードをApplicationクラスで使用するだけです。

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

XMLからプリファレンスをロードし、最後のパラメーター(readAgain)はユーザープリファレンスが上書きされないことを保証します。R.xml.preferenceファイルでデフォルトのパラメーターを維持する必要があります。

詳細については、AndroidAPIのPreferenceManager.setDefaultValuesをご覧ください。

于 2010-11-30T12:44:24.703 に答える