# SharedPreferences.OnSharedPreferenceChangeListener

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# OnSharedPreferenceChangeListener

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener "View this page in Java")  

```
interface OnSharedPreferenceChangeListener
```

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [android.content.SharedPreferences.OnSharedPreferenceChangeListener](https://developer.android.com/reference/kotlin/android/content/SharedPreferences.OnSharedPreferenceChangeListener#) |

Interface definition for a callback to be invoked when a shared preference is changed.

## Summary

|                                                                                                                                                                                                                                                                                                 Public methods                                                                                                                                                                                                                                                                                                 ||
|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onSharedPreferenceChanged](https://developer.android.com/reference/kotlin/android/content/SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged(android.content.SharedPreferences,%20kotlin.String))`(`sharedPreferences:` `[SharedPreferences](https://developer.android.com/reference/kotlin/android/content/SharedPreferences)!`, `key:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?`)` Called when a shared preference is changed, added, or removed. |

## Public methods

### onSharedPreferenceChanged

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun onSharedPreferenceChanged(
    sharedPreferences: SharedPreferences!, 
    key: String?
): Unit
```

Called when a shared preference is changed, added, or removed. This may be called even if a preference is set to its existing value.

This callback will be run on your main thread.

*Note: This callback will not be triggered when preferences are cleared via[Editor.clear()](https://developer.android.com/reference/kotlin/android/content/SharedPreferences.Editor#clear()), unless targeting[android.os.Build.VERSION_CODES#R](https://developer.android.com/reference/kotlin/android/os/Build.VERSION_CODES.html#R:kotlin.Int)on devices running OS versions[Android R](https://developer.android.com/reference/kotlin/android/os/Build.VERSION_CODES.html#R:kotlin.Int)or later.*

|                                                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                                                             ||
|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `sharedPreferences` | [SharedPreferences](https://developer.android.com/reference/kotlin/android/content/SharedPreferences)!:The[SharedPreferences](https://developer.android.com/reference/kotlin/android/content/SharedPreferences)that received the change.                                                                                                                                                                                                                                                                      |
| `key`               | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?:The key of the preference that was changed, added, or removed. Apps targeting[android.os.Build.VERSION_CODES#R](https://developer.android.com/reference/kotlin/android/os/Build.VERSION_CODES.html#R:kotlin.Int)on devices running OS versions[Android R](https://developer.android.com/reference/kotlin/android/os/Build.VERSION_CODES.html#R:kotlin.Int)or later, will receive a`null`value when preferences are cleared. |