Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 386
Hitesh Sahu Avatar asked Apr 01 '18 08:04

Hitesh Sahu


2 Answers

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.

like image 135
Gabriele Mariotti Avatar answered Nov 06 '22 14:11

Gabriele Mariotti


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
like image 1
Sandip Fichadiya Avatar answered Nov 06 '22 15:11

Sandip Fichadiya