예제 #1
0
    private void bindPreferenceSummaryToValue(Preference preference) {
      preference.getOnPreferenceChangeListener();
      preference.getPreferenceManager().getSharedPreferences();

      onPreferenceChange(
          preference,
          PreferenceManager.getDefaultSharedPreferences(preference.getContext())
              .getString(preference.getKey(), ""));
    }
예제 #2
0
  protected void initializePreference(Preference preference) {
    if (preference instanceof PreferenceGroup) {
      PreferenceGroup group = (PreferenceGroup) preference;
      for (int i = 0; i < group.getPreferenceCount(); i++) {
        initializePreference(group.getPreference(i));
      }
      updatePreferences(group, null);
    } else {
      Object value = null;
      if (preference instanceof ListPreference) {
        value = ((ListPreference) preference).getValue();
      } else if (preference instanceof CheckBoxPreference) {
        value = ((CheckBoxPreference) preference).isChecked();
      } else if (preference instanceof EditTextPreference) {
        value = ((EditTextPreference) preference).getText();
      } else if (preference instanceof RingtonePreference) {
        value =
            PreferenceManager.getDefaultSharedPreferences(preference.getContext())
                .getString(preference.getKey(), null);
      } else if (preference instanceof TimePreference) {
        value = ((TimePreference) preference).getMillisOfDay();
      }

      updatePreferences(preference, value);

      if (preference.getOnPreferenceChangeListener() == null) {
        preference.setOnPreferenceChangeListener(
            new OnPreferenceChangeListener() {
              @Override
              public boolean onPreferenceChange(Preference myPreference, Object newValue) {
                updatePreferences(myPreference, newValue);
                return true;
              }
            });
      }
    }
  }