私はActivity
を持っています。そこに表示されるメニューとボタンをクリックすると、PreferenceActivity
に行き、ListPreferences
の3つを読み込みます。 ListPreference
は、リモートDBを更新するためにユーザーが複数の値を選択できるようにしています。たとえば、アプリケーションが一時停止するとその値を保存します。Androidの設定:アクティビティまたはPreferenceActivityに保存
ListPreference
はPreferenceActivity
にありますが、どのようにそれらの値を取得できますか? Activity
またはPreferenceActivity
の現在の設定状態はどこに保存しますか?
[...]
private void updateFromPreferences() {
Context context = getApplicationContext();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
callsFrequencyUpdate = Integer.parseInt(prefs.getString(Preferences.CALLS_FREQUENCY_PREF, "0"));
smsFrequencyUpdate = Integer.parseInt(prefs.getString(Preferences.SMS_FREQUENCY_PREF, "0"));
locationFrequencyUpdate = Integer.parseInt(prefs.getString(Preferences.LOCATION_FREQUENCY_PREF, "0"));
}
private void savePreferences() {
SharedPreferences activityPreferences = getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = activityPreferences.edit();
editor.putInt(Preferences.CALLS_FREQUENCY_PREF, callsFrequencyUpdate);
editor.putInt(Preferences.SMS_FREQUENCY_PREF, smsFrequencyUpdate);
editor.putInt(Preferences.LOCATION_FREQUENCY_PREF, locationFrequencyUpdate);
editor.commit();
}
@Override
protected void onPause() {
super.onPause();
savePreferences();
}
そして、これは私のPreferences.java
ファイルです:
は、これは私が私のActivity.java
でこれまでに行ったことある
public class Preferences extends PreferenceActivity {
public static final String CALLS_FREQUENCY_PREF = "CALLS_FREQUENCY_PREF";
public static final String SMS_FREQUENCY_PREF = "SMS_FREQUENCY_PREF";
public static final String LOCATION_FREQUENCY_PREF = "LOCATION_FREQUENCY_PREF";
SharedPreferences prefs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
どうもありがとう事前に!