# PreferenceManager.PreferenceComparisonCallback

# PreferenceManager.PreferenceComparisonCallback

Artifact: [androidx.preference:preference](https://developer.android.com/jetpack/androidx/releases/preference)  
[View Source](https://cs.android.com/search?q=file:androidx/preference/PreferenceManager.java+class:androidx.preference.PreferenceManager.PreferenceComparisonCallback)  
Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/preference#1.0.0)

*** ** * ** ***

Kotlin \|[Java](https://developer.android.com/reference/androidx/preference/PreferenceManager.PreferenceComparisonCallback "View this page in Java")


```
abstract class PreferenceManager.PreferenceComparisonCallback
```

<br />

Known direct subclasses  
[PreferenceManager.SimplePreferenceComparisonCallback](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.SimplePreferenceComparisonCallback)  

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PreferenceManager.SimplePreferenceComparisonCallback](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.SimplePreferenceComparisonCallback) | A basic implementation of [PreferenceComparisonCallback](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.PreferenceComparisonCallback) suitable for use with the default [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) classes. |

*** ** * ** ***

Callback class to be used by the [androidx.recyclerview.widget.RecyclerView.Adapter](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.Adapter) associated with the [PreferenceScreen](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceScreen), used to determine when two [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) objects are semantically and visually the same.

## Summary

|                                                                               ### Public constructors                                                                                |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PreferenceComparisonCallback](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.PreferenceComparisonCallback#PreferenceComparisonCallback())`()` |

|                                      ### Public functions                                      |
|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [arePreferenceContentsTheSame](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.PreferenceComparisonCallback#arePreferenceContentsTheSame(androidx.preference.Preference,androidx.preference.Preference))`(p1: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`, p2: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`)` Called to determine if two [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) objects will display the same data |
| `abstract `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [arePreferenceItemsTheSame](https://developer.android.com/reference/kotlin/androidx/preference/PreferenceManager.PreferenceComparisonCallback#arePreferenceItemsTheSame(androidx.preference.Preference,androidx.preference.Preference))`(p1: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`, p2: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference)`)` Called to determine if two [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) objects represent the same item          |

## Public constructors

### PreferenceComparisonCallback

Added in 1.0.0  

```
PreferenceComparisonCallback()
```  

## Public functions

### arePreferenceContentsTheSame

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/preference#1.0.0)  

```
abstract fun arePreferenceContentsTheSame(p1: Preference, p2: Preference): Boolean
```

Called to determine if two [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) objects will display the same data  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| `p1: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) | [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) object to compare |
| `p2: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) | [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) object to compare |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|----------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | `true` if the objects are visually identical |

### arePreferenceItemsTheSame

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/preference#1.0.0)  

```
abstract fun arePreferenceItemsTheSame(p1: Preference, p2: Preference): Boolean
```

Called to determine if two [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) objects represent the same item  

|                                            Parameters                                             |
|---------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| `p1: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) | [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) object to compare |
| `p2: `[Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) | [Preference](https://developer.android.com/reference/kotlin/androidx/preference/Preference) object to compare |

|                                       Returns                                       |
|-------------------------------------------------------------------------------------|-----------------------------------------------|
| [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | `true` if the objects represent the same item |