【问题标题】:How to implement OnScrollistener in a fragment如何在片段中实现 OnScrolllistener
【发布时间】:2015-08-07 19:59:00
【问题描述】:

我似乎无法为我的 recyclerview 实现/扩展 OnScrollistener 以了解 recyclerview 何时触底

public class UpcomingFragment extends Fragment 

如果出现以下情况,我该如何实现:

implements RecyclerView.OnScrollListener

implements OnScrollListener

给我一​​个“此处应有接口”错误

我的构建 gradle 模块:

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'
    }
 }
}

构建等级项目

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
}

}

【问题讨论】:

    标签: android android-recyclerview onscrolllistener


    【解决方案1】:

    根据文档:

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

    RecyclerView.OnScrollListenerabstract

    像这样使用监听器:

    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
        }
    };
    

    添加到RecyclerView:

    recyclerView.addOnScrollListener(onScrollListener);
    

    【讨论】:

    • 当我尝试将 addOnScrollListener 添加到我的 RecyclerView 时,它说无法解析方法
    • 发布您的build.gradle。您使用的是过时的库。
    • @JamesA app/build.gradle: 应该有 compile 'com.android.support:recyclerview-v7:22.2.0' 依赖
    • @karaokyo 是的。最新的是22.2.1
    【解决方案2】:
    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
    }
    };
    

    然后像这样将 onScrollListener 添加到方法 addOnScrollListener 中

    recyclerView.addOnScrollListener(onScrollListener);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多