3 ~ 4 つのアクティビティがあります。そのうちの 1 つはメイン アクティビティで、もう 1 つは設定画面です。デフォルト値を持つ ListPreference などのさまざまな設定を含む設定画面があります。
プロジェクトを開始するときに設定のデフォルト値を有効にするにはどうすればよいですか?
デフォルトでは、設定アクティビティを開始したときにのみアクティブになります。手短に: 設定アクティビティを呼び出さずに、メイン アクティビティで既定値を使用する必要があります。
3 ~ 4 つのアクティビティがあります。そのうちの 1 つはメイン アクティビティで、もう 1 つは設定画面です。デフォルト値を持つ ListPreference などのさまざまな設定を含む設定画面があります。
プロジェクトを開始するときに設定のデフォルト値を有効にするにはどうすればよいですか?
デフォルトでは、設定アクティビティを開始したときにのみアクティブになります。手短に: 設定アクティビティを呼び出さずに、メイン アクティビティで既定値を使用する必要があります。
私がやっていることは、Preferencesアクティビティクラスに静的メソッドがあるので、どこからでも呼び出すことができます。
static public boolean getOrderByDate(Context context) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getBoolean("order_by_date", true);
}
ここでgetBoolean()呼び出しでデフォルト値(true)が指定されていることに注意してください。すべてのデフォルトを1つの場所で指定する場合は、XMLで設定するのではなく、Preference.setDefaultValue()を呼び出す必要があります。
共有設定を使用する場合は、そのように設定してください。
public static String PlayerName = "";
public static int CardsCount = 52;
public static int PlayersCount = 5;
LoadSettings()メソッドとSaveSettings()メソッドも実装すると、正常に機能します
SharedPreferencesを使用して設定を保存し、MainActivityにロードします。SharedPreferencesには、設定がまだ存在しない場合に返すデフォルト値を渡すgetメソッドがあります。
更新:コード例
あなたの主な活動で
// get the shared preferences for your package context
SharedPreferences sharedPreferences = PreferencesManager.getSharedPreferences(this);
// get the boolean preference with a default value of false
boolean somePref = sharedPrefernces.getBoolean("somePref", false);
// get the string preference with a default value of "default"
String someOtherPref = sharedPreferences.getStirng("someOtherPref", "default");