Search code examples
androidandroid-recyclerviewonscrolllistener

How to implement OnScrollistener in a fragment


I can't seem to get to implement/extend OnScrollistener for my recyclerview to know when the recyclerview hits the bottom

public class UpcomingFragment extends Fragment 

How do i implement it if:

implements RecyclerView.OnScrollListener

and

implements OnScrollListener

give me an "Interface expected here" error

My build gradle module:

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "company.com.movieapp"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
 }
}

Build grade project

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.2.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}


Solution

  • Based on the docs:

    https://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListener.html

    RecyclerView.OnScrollListener is abstract.

    Use the listener like this:

    private final RecyclerView.OnScrollListener onScrollListener = new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(final RecyclerView recyclerView, final int newState) {
            // code
        }
    
        @Override
        public void onScrolled(final RecyclerView recyclerView, final int dx, final int dy) {
            // code
        }
    };
    

    Add to RecyclerView:

    recyclerView.addOnScrollListener(onScrollListener);