Guest User

Untitled

a guest
Nov 21st, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. //necessary import declarations go here
  2. public class Settings extends PreferenceActivity implements OnSharedPreferenceChangeListener{
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. addPreferencesFromResource(R.xml.preferences);
  7. SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
  8. app_preferences.registerOnSharedPreferenceChangeListener(this);
  9. }
  10.  
  11. public void onSharedPreferenceChanged (SharedPreferences sharedPreferences, String key) {
  12. Log.d("onSharedPreferencesChanged", "sharedPreferences changed. key: " + key);
  13. Editor preferencesMod = sharedPreferences.edit();
  14. String instrumentChoice = sharedPreferences.getString("instrumentList", "Guitar");
  15. if(key.equals("instrumentList")) {
  16. Log.d("Settings", "key is instrumentList. chooseTuning before if: " + sharedPreferences.getString("chooseTuning", "no luck"));
  17. if(instrumentChoice.equals("Guitar")) {
  18. preferencesMod.putString("chooseTuning", "Standard");
  19. preferencesMod.commit();
  20. Log.d("Settings", "chooseTuning after if: " + sharedPreferences.getString("chooseTuning", "ciao"));
  21. }
  22. }
  23. }
  24. }
  25.  
  26. <?xml version="1.0" encoding="utf-8"?>
  27. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
  28. android:title="Settings">
  29. <ListPreference android:title="Choose an Instrument" android:key="instrumentList" android:entryValues="@array/instruments" android:entries="@array/instruments"/>
  30. <ListPreference android:title="Choose Tuning" android:key="chooseTuning" android:entryValues="@array/tuningChoices" android:entries="@array/tuningChoices" android:persistent="true"/>
  31. </PreferenceScreen>
  32.  
  33. ListPreference list = (ListPreference) getPreferenceManager().findPreference("myList");
  34. list.setValue(sharedPrefs.getString("myList", "default"));
  35. list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
  36.  
  37. public boolean onPreferenceChange(Preference preference, Object newValue) {
  38. sharedPrefs.put("myList", newValue.toString());
  39. return true;
  40. }
  41.  
  42. });
  43.  
  44. @Override
  45. protected void onCreate(Bundle savedInstanceState) {
  46. super.onCreate(savedInstanceState);
  47. SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this);
  48.  
  49. boolean loadDefaults = app_preferences.getBoolean(DEFAULTS_LOADED, true);
  50. if(loadDefaults)
  51. {
  52. addPreferencesFromResource(R.xml.preferences);
  53. Editor editor = app_preferences.edit();
  54. editor.putBoolean(DEFAULTS_LOADED, true);
  55. editor.commit();
  56. }
  57. app_preferences.registerOnSharedPreferenceChangeListener(this);
  58. }
  59.  
  60. ListView list = preferenceActivity.getListView();
  61. list.performItemClick(list, 1, list.getItemIdAtPosition(1));
  62.  
  63. PackageInfo packageInfo = null;
  64. try {
  65. packageInfo = preference.getContext().getPackageManager().getPackageInfo(preference.getContext().getPackageName(), 0);
  66. } catch (PackageManager.NameNotFoundException e) {
  67. e.printStackTrace();
  68. }
  69. preference.setSummary(packageInfo.versionName);
Add Comment
Please, Sign In to add comment