9

Recently I updated android.arch support library version in gradle file

 // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"

    // alternatively, just ViewModel
    implementation "android.arch.lifecycle:viewmodel:1.1.1"

    // alternatively, just LiveData
    implementation "android.arch.lifecycle:livedata:1.1.1"
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"

    // Room (use 1.1.0-alpha1 for latest alpha)
    implementation "android.arch.persistence.room:runtime:1.0.0"
    annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

    // Paging
    implementation "android.arch.paging:runtime:1.0.0-alpha7"

Now I stated getting this error

enter image description here

Hitesh Sahu
  • 41,955
  • 17
  • 205
  • 154

2 Answers2

16

Use the DiffUtil.ItemCallback class:

 public static final DiffUtil.ItemCallback<User> DIFF_CALLBACK =
             new DiffUtil.ItemCallback<User>() {
     @Override
     public boolean areItemsTheSame(
             @NonNull User oldUser, @NonNull User newUser) {
             //..
     }
     @Override
     public boolean areContentsTheSame(
             @NonNull User oldUser, @NonNull User newUser) {
         //..
     }
 }

You can also check the DiffCallback class. Now this class is moved in recyclerview-v7 and it is deprecated.

Gabriele Mariotti
  • 320,139
  • 94
  • 887
  • 841
  • I'm not getting latest `DiffUtil` class although I updated RecyclerView by adding `implementation 'com.android.support:recyclerview-v7:27.1.1'`. Any idea what is the issue?@GabrieleMariotti – Maulik Dodia Aug 16 '18 at 10:02
1

Not sure which version you were using earlier, but from the changelog ( 1.0.0-alpha6, February 27, 2018),

Classes renamed, and moved to recyclerview-v7:

  • DiffCallback -> DiffUtil.ItemCallback
Sandip Fichadiya
  • 3,430
  • 2
  • 21
  • 47