Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //necessary import declarations go here
- public class Settings extends PreferenceActivity implements OnSharedPreferenceChangeListener{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.preferences);
- SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
- app_preferences.registerOnSharedPreferenceChangeListener(this);
- }
- public void onSharedPreferenceChanged (SharedPreferences sharedPreferences, String key) {
- Log.d("onSharedPreferencesChanged", "sharedPreferences changed. key: " + key);
- Editor preferencesMod = sharedPreferences.edit();
- String instrumentChoice = sharedPreferences.getString("instrumentList", "Guitar");
- if(key.equals("instrumentList")) {
- Log.d("Settings", "key is instrumentList. chooseTuning before if: " + sharedPreferences.getString("chooseTuning", "no luck"));
- if(instrumentChoice.equals("Guitar")) {
- preferencesMod.putString("chooseTuning", "Standard");
- preferencesMod.commit();
- Log.d("Settings", "chooseTuning after if: " + sharedPreferences.getString("chooseTuning", "ciao"));
- }
- }
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="Settings">
- <ListPreference android:title="Choose an Instrument" android:key="instrumentList" android:entryValues="@array/instruments" android:entries="@array/instruments"/>
- <ListPreference android:title="Choose Tuning" android:key="chooseTuning" android:entryValues="@array/tuningChoices" android:entries="@array/tuningChoices" android:persistent="true"/>
- </PreferenceScreen>
- ListPreference list = (ListPreference) getPreferenceManager().findPreference("myList");
- list.setValue(sharedPrefs.getString("myList", "default"));
- list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- sharedPrefs.put("myList", newValue.toString());
- return true;
- }
- });
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
- boolean loadDefaults = app_preferences.getBoolean(DEFAULTS_LOADED, true);
- if(loadDefaults)
- {
- addPreferencesFromResource(R.xml.preferences);
- Editor editor = app_preferences.edit();
- editor.putBoolean(DEFAULTS_LOADED, true);
- editor.commit();
- }
- app_preferences.registerOnSharedPreferenceChangeListener(this);
- }
- ListView list = preferenceActivity.getListView();
- list.performItemClick(list, 1, list.getItemIdAtPosition(1));
- PackageInfo packageInfo = null;
- try {
- packageInfo = preference.getContext().getPackageManager().getPackageInfo(preference.getContext().getPackageName(), 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- preference.setSummary(packageInfo.versionName);
Add Comment
Please, Sign In to add comment