android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged ( )源码实例Demo

下面列出了android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	// Load the preferences from an XML resource
	addPreferencesFromResource(R.xml.user_prefs);

	// Get the username Preference
	mUserNamePreference = (Preference) getPreferenceManager()
			.findPreference(USERNAME);

	// Attach a listener to update summary when username changes
	mListener = new OnSharedPreferenceChangeListener() {
		@Override
		public void onSharedPreferenceChanged(
				SharedPreferences sharedPreferences, String key) {
			mUserNamePreference.setSummary(sharedPreferences.getString(
					USERNAME, "None Set"));
		}
	};

	// Get SharedPreferences object managed by the PreferenceManager for
	// this Fragment
	SharedPreferences prefs = getPreferenceManager()
			.getSharedPreferences();

	// Register a listener on the SharedPreferences object
	prefs.registerOnSharedPreferenceChangeListener(mListener);

	// Invoke callback manually to display the current username
	mListener.onSharedPreferenceChanged(prefs, USERNAME);

}
 
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	// Load the preferences from an XML resource
	addPreferencesFromResource(R.xml.user_prefs);

	// Get the username Preference
	mUserNamePreference = getPreferenceManager()
			.findPreference(USERNAME);

	// Attach a listener to update summary when username changes
	mListener = new OnSharedPreferenceChangeListener() {
		@Override
		public void onSharedPreferenceChanged(
				SharedPreferences sharedPreferences, String key) {
			mUserNamePreference.setSummary(sharedPreferences.getString(
					USERNAME, "None Set"));
		}
	};

	// Get SharedPreferences object managed by the PreferenceManager for
	// this Fragment
	SharedPreferences prefs = getPreferenceManager()
			.getSharedPreferences();

	// Register a listener on the SharedPreferences object
	prefs.registerOnSharedPreferenceChangeListener(mListener);

	// Invoke callback manually to display the current username
	mListener.onSharedPreferenceChanged(prefs, USERNAME);

}
 
@Override
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	// Load the preferences from an XML resource
	addPreferencesFromResource(R.xml.user_prefs);

	// Get the username Preference
	mUserNamePreference = (Preference) getPreferenceManager()
			.findPreference(USERNAME);

	// Attach a listener to update summary when username changes
	mListener = new OnSharedPreferenceChangeListener() {
		@Override
		public void onSharedPreferenceChanged(
				SharedPreferences sharedPreferences, String key) {
			mUserNamePreference.setSummary(sharedPreferences.getString(
					USERNAME, "None Set"));
		}
	};

	// Get SharedPreferences object managed by the PreferenceManager for
	// this Fragment
	SharedPreferences prefs = getPreferenceManager()
			.getSharedPreferences();

	// Register a listener on the SharedPreferences object
	prefs.registerOnSharedPreferenceChangeListener(mListener);

	// Invoke callback manually to display the current username
	mListener.onSharedPreferenceChanged(prefs, USERNAME);

}
 
源代码4 项目: deagle   文件: CrossProcessSharedPreferences.java
void notifyListeners(final String key) {
	final List<OnSharedPreferenceChangeListener> listeners;
	synchronized (this) {
		listeners = new ArrayList<>(mListeners.keySet());
	}
	for (final OnSharedPreferenceChangeListener listener : listeners) {
		Log.d(CrossProcessSharedPreferences.TAG, "Notify listener: " + listener);
		listener.onSharedPreferenceChanged(this, key);
	}
}
 
源代码5 项目: binaryprefs   文件: BroadcastEventBridge.java
private void notifyListenersInternal(String key) {
    for (OnSharedPreferenceChangeListener listener : currentListeners) {
        listener.onSharedPreferenceChanged(null, key);
    }
}
 
源代码6 项目: binaryprefs   文件: SimpleEventBridge.java
private void notifyListeners(String key) {
    for (OnSharedPreferenceChangeListener listener : listeners) {
        listener.onSharedPreferenceChanged(null, key);
    }
}
 
源代码7 项目: mytracks   文件: TrackDataHubTest.java
/**
 * Tests preferences change.
 */
public void testPreferencesChange() throws Exception {

  // Register two listeners
  PreferencesUtils.setString(
      context, R.string.stats_rate_key, PreferencesUtils.STATS_RATE_DEFAULT);
  PreferencesUtils.setString(
      context, R.string.stats_units_key, PreferencesUtils.STATS_UNITS_DEFAULT);
  PreferencesUtils.setInt(context, R.string.recording_gps_accuracy_key,
      PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT);
  PreferencesUtils.setInt(context, R.string.recording_distance_interval_key,
      PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT);

  dataSource.registerOnSharedPreferenceChangeListener(capture(preferenceChangeListenerCapture));
  expect(trackDataListener1.onMetricUnitsChanged(true)).andReturn(false);
  expect(trackDataListener1.onReportSpeedChanged(true)).andReturn(false);
  expect(
      trackDataListener1.onRecordingGpsAccuracy(PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT))
      .andReturn(false);
  expect(trackDataListener1.onRecordingDistanceIntervalChanged(
      PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT)).andReturn(false);
  expect(trackDataListener1.onMapTypeChanged(PreferencesUtils.MAP_TYPE_DEFAUlT)).andReturn(false);
  
  expect(trackDataListener2.onMetricUnitsChanged(true)).andReturn(false);
  expect(trackDataListener2.onReportSpeedChanged(true)).andReturn(false);
  expect(
      trackDataListener2.onRecordingGpsAccuracy(PreferencesUtils.RECORDING_GPS_ACCURACY_DEFAULT))
      .andReturn(false);
  expect(trackDataListener2.onRecordingDistanceIntervalChanged(
      PreferencesUtils.RECORDING_DISTANCE_INTERVAL_DEFAULT)).andReturn(false);
  expect(trackDataListener2.onMapTypeChanged(PreferencesUtils.MAP_TYPE_DEFAUlT)).andReturn(false);
  replay();

  trackDataHub.start();
  trackDataHub.registerTrackDataListener(
      trackDataListener1, EnumSet.of(TrackDataType.PREFERENCE));
  trackDataHub.registerTrackDataListener(
      trackDataListener2, EnumSet.of(TrackDataType.PREFERENCE));
  verifyAndReset();

  // Change report speed to false
  expect(trackDataListener1.onReportSpeedChanged(false)).andReturn(false);
  expect(trackDataListener2.onReportSpeedChanged(false)).andReturn(false);
  replay();

  PreferencesUtils.setString(
      context, R.string.stats_rate_key, context.getString(R.string.stats_rate_pace));
  OnSharedPreferenceChangeListener listener = preferenceChangeListenerCapture.getValue();
  listener.onSharedPreferenceChanged(
      sharedPreferences, PreferencesUtils.getKey(context, R.string.stats_rate_key));
  verifyAndReset();

  // Change metric units to false
  expect(trackDataListener1.onMetricUnitsChanged(false)).andReturn(false);
  expect(trackDataListener2.onMetricUnitsChanged(false)).andReturn(false);
  replay();

  String imperialUnits = context.getString(R.string.stats_units_imperial);
  PreferencesUtils.setString(context, R.string.stats_units_key, imperialUnits);
  listener.onSharedPreferenceChanged(
      sharedPreferences, PreferencesUtils.getKey(context, R.string.stats_units_key));
  verifyAndReset();
}