How to change the state of a preference item from outside the PreferenceActivity?

My application has some features that require Android version 4.2+. Therefore, in my main activity, I will need to check the available OS functions and change the parameters (Enable / Disable) that are defined in mine PreferenceActivity.

The following code is not accessible externally. PreferenceActivity

ListPreference prefReport = (ListPreference)getPreferenceScreen().findPreference("pref_report");
prefDspProfile.setValue("0");

So my question is how to change the settings items from outside the PreferenceActivity.

+5
source share
1 answer

PreferenceAcitivity , SharedPreference. , SharedPrefence . PreferenceActivity.

SharedPreference. , , onCreate simpleAcitivity.

UPDATE: , / .

@Override
protected void onCreate(Bundle state){
   super.onCreate(state);

   // Restore preferences
   SharedPreferences settings = getPreferences(MODE);
   // Make sure we're running on Honeycomb or higher to use ActionBar APIs
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
      //change your setting here
      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
   }

}

, , . xml , , API Android, , . : v2, v17.

 res-v4
     setting.xml

 res-v17
     setting.xml -> This file can include specific Jelly Beans configs  
+2

All Articles