# 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)

*** ** * ** ***


```
public abstract class PreferenceManager.PreferenceComparisonCallback
```

<br />

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

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

*** ** * ** ***

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

## Summary

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

| ### Public methods |
|---|---|
| `abstract boolean` | `https://developer.android.com/reference/androidx/preference/PreferenceManager.PreferenceComparisonCallback#arePreferenceContentsTheSame(androidx.preference.Preference,androidx.preference.Preference)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p1, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p2 )` Called to determine if two `https://developer.android.com/reference/androidx/preference/Preference` objects will display the same data |
| `abstract boolean` | `https://developer.android.com/reference/androidx/preference/PreferenceManager.PreferenceComparisonCallback#arePreferenceItemsTheSame(androidx.preference.Preference,androidx.preference.Preference)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p1, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p2)` Called to determine if two `https://developer.android.com/reference/androidx/preference/Preference` objects represent the same item |

## Public constructors

### PreferenceComparisonCallback

Added in 1.0.0

```
public PreferenceComparisonCallback()
```

## Public methods

### arePreferenceContentsTheSame

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

```
public abstract boolean arePreferenceContentsTheSame(
    @NonNull Preference p1,
    @NonNull Preference p2
)
```

Called to determine if two `https://developer.android.com/reference/androidx/preference/Preference` objects will display the same data

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p1` | `https://developer.android.com/reference/androidx/preference/Preference` object to compare |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p2` | `https://developer.android.com/reference/androidx/preference/Preference` object to compare |

| Returns |
|---|---|
| `boolean` | `true` if the objects are visually identical |

### arePreferenceItemsTheSame

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

```
public abstract boolean arePreferenceItemsTheSame(@NonNull Preference p1, @NonNull Preference p2)
```

Called to determine if two `https://developer.android.com/reference/androidx/preference/Preference` objects represent the same item

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p1` | `https://developer.android.com/reference/androidx/preference/Preference` object to compare |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/preference/Preference p2` | `https://developer.android.com/reference/androidx/preference/Preference` object to compare |

| Returns |
|---|---|
| `boolean` | `true` if the objects represent the same item |