androidandroid-gradle-pluginandroid-architecture-componentsandroid-architecture-lifecycle

Cant find class DiffCallback in Android Architecture component 1.1.1:


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


Solution

  • 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.