为什么 addOnScrollListener 不起作用?

2024-03-02

我尝试在滚动到 recyclerView 底部时实现加载更多 当我的 XML 只有 recyclerView 时它可以工作,但当我将它放入滚动视图和 setNestedScrollingEnabled(false) 时它不起作用

XML " Requirement " - The orange area is static layout - The green area is dynamic items and when i scoll to bottom orange area must be scroll down too

    mAdapter = new RecyclerViewCommentAdapter(commentList, userInformationList);
    mRecyclerViewComment = (RecyclerView) rootView.findViewById(R.id.recyclerViewComment);
    mRecyclerViewComment.setNestedScrollingEnabled(false);
    mRecyclerViewComment.setHasFixedSize(true);
    mRecyclerViewComment.setItemViewCacheSize(30);
    mRecyclerViewComment.setDrawingCacheEnabled(true);
    mRecyclerViewComment.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);

    mLayoutManager = new LinearLayoutManager(mContext);
    mRecyclerViewComment.setLayoutManager(mLayoutManager);
    mRecyclerViewComment.setItemAnimator(new DefaultItemAnimator());
    mRecyclerViewComment.setAdapter(mAdapter);

    // Scroll //
    mRecyclerViewComment.addOnScrollListener(new RecyclerView.OnScrollListener()
    {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy)
        {
            Log.d(getClass().getName(), "dy = " + dy);
            if(dy > 0) //check for scroll down
            {
                visibleItemCount = mLayoutManager.getChildCount();
                totalItemCount = mLayoutManager.getItemCount();
                pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();
                Log.d(getClass().getName(), "totalItemCount = " + totalItemCount);
                if (loading)
                {

                    if ( (visibleItemCount + pastVisiblesItems) >= totalItemCount && (visibleItemCount + pastVisiblesItems) >= TOTAL_FIRST_LOAD)
                    {
                        loading = false;
                        loadMoreKey();
                    }

                }
            }
        }
    });

}

我尝试调试 'dy' 它总是 0


dy 为 0 因为RecyclerView不滚动,其内容适合滚动视图。所以,滚动的视图是ScrollView.

这不是一个特别好的实现,因为所有的观点RecyclerView同时膨胀,这超出了目的RecyclerView也就是重用ViewHolders当用户滚动并动态膨胀视图中的元素以节省内存使用时。

尝试固定高度RecyclerView并且不要使用wrap_content or match_parent in the height你的财产RecyclerView

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 addOnScrollListener 不起作用? 的相关文章

  • 找不到参数的方法 dependencyResolutionManagement()

    我正在尝试使用老师给我的一个项目 但它显示了一个错误 Settings file Users admin AndroidStudioProjects HTTPNetworking settings gradle line 1 A probl
  • 类型容器“Android 依赖项”引用不存在的库 android-support-v7-appcompat/bin/android-support-v7-appcompat.jar

    我在尝试在我的项目中使用 Action Bar Compat 支持库时遇到了某种错误 我不知道出了什么问题 因为我已按照此链接中的说明进行操作 gt http developer android com tools support libr
  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号

随机推荐

  • 如何创建私有远程perforce分支并推送到它?

    熟悉git 第一次使用perforce 我正在开发自己的功能 我不想将其推送到主线远程存储库 我需要类似 git 远程分支的东西 其中 我可以提交我的更改 就像是git commit 我可以推送到不合并的远程私有分支 就像是git push
  • 带有枚举输入参数的 Webapi post 方法

    当尝试调用采用枚举作为输入参数的 Web API 方法时 为什么会出现下面屏幕截图中的错误 我该如何解决这个问题 看起来像messageDestinationType无论我做什么始终为空 我更愿意将输入类型保留为枚举 我对使用 Web ap
  • 如何修复导入错误:无法从plotly(python)导入Dash中的名称“Event”?

    我正在研究数据可视化任务 其中使用了plotly python 中的Dash 当我运行代码时 我收到一个错误 导入错误 无法导入名称 事件 我尝试了各种安装过程 例如 pip install events 或 pip install Eve
  • 如何在 @RequestParam() 中将默认值指定为整数

    我是新来的弹簧靴和学习 RequestParam 我知道我们可以在字符串中给出默认值 但是当我尝试将默认值作为整数给出时 它向我显示一个错误 RequestMapping returnVeriable public int getVeria
  • playframework 中的分页

    我想在 Play FrameWork 中实现分页 是否有任何教程或示例 我已经浏览了那里的网站并完成了教程 但无法实现分页 Thanks 我已经实现了很多页面play 使用播放分页模块 http www playframework org
  • 如何隐藏exe或dll中的字符串?

    我发现可以从二进制文件中提取硬编码字符串 例如属性视图流程浏览器 http technet microsoft com en us sysinternals bb896653 aspx显示所有超过 3 个字符的字符串 这是我为了简单测试而编
  • 有没有办法编译node.js源文件? [复制]

    这个问题在这里已经有答案了 有没有办法编译一个node js http nodejs org 应用 我可能很晚了 但你可以使用 nexe 模块在一个可执行文件中编译nodejs 你的脚本 https github com crcn nexe
  • MediaMetadataRetriever.getFrameAtTime() 仅返回第一帧

    我使用 MetadataRetriever 从视频中提取了帧 并将所有图像存储在ArrayList
  • Vue-Router:类型错误:this._router.init 不是函数

    我已经安装了 vue router 在 Laravel 项目中 然后尝试使用它 import VueRouter from vue router Vue use VueRouter 然后我得到这个 Vue warn Error in bef
  • Android位置请求PRIORITY_HIGH_ACCURACY没有效果

    我的 Android 应用程序需要高精度位置跟踪 应用程序启动时 它会以编程方式读取位置设置 并在以下情况下显示一个屏幕 高准确率未选择 我改编了Google官方的例子 https developers google com android
  • org.jboss.as.server.deployment.DeploymentUnitProcessingException:在 ws 端点部署中检测到 Apache CXF 库

    我正在使用 Eclipse Juno 和 WildFly 8 2 并尝试使用 ws security 部署肥皂 Web 服务 这是我的参考网站 https docs jboss org author display JBWS WS Secu
  • 生成随机 IPv6 地址

    在Python中 如果我想生成一个IP v6地址形式的随机字符串 该怎么办 例如 ff80 220 16ff fec9 1 fe80 232 50ff fec0 5 fe20 150 560f fec4 3 等 有人可以给我一些帮助吗 一线
  • Imgur API 上传

    于是就有了这行代码 String data URLEncoder encode image UTF 8 URLEncoder encode Base64 encodeBase64String baos toByteArray toStrin
  • Google Compute Engine 分配静态 IP 定价?

    当我们为 Compute Engine 实例分配静态 IP 时 我们是否需要为该实例支付额外费用 我已阅读他们的文档 但没有找到有关该功能定价的任何信息 UPDATE 自 2020 年 1 月 1 日起 静态和临时外部 IP 在使用时按 0
  • 将数组拆分为大小相等的窗口[重复]

    这个问题在这里已经有答案了 我正在尝试拆分numpy array长度为 40 的较小的 大小相等的numpy arrays 其中较小数组的数量由用户给出 较小数组之间允许有一些重叠 因为在给定较小数组某种形式的重叠的情况下 可能会出现全长只
  • 在 SOAP 消息中使用 XSLT 替换命名空间 uri

    我有一条输入肥皂消息 试图用不同的字符串替换命名空间 URI 的一部分 我可以用不同的 URI 替换整个 URI 但无法修改现有的 URI 我需要查找 OLDSTRING 并替换为 NEWSTRING 字符串 VARIABLESTRING
  • 在 Solr 中增强布尔字段

    是否可以提高 Solr 中的布尔字段以便获得更高的分数 我们有一个索引 看起来有点像这样 文档ID title 描述 keywords 已审阅 搜索时 已审阅的文档 即 is reviewed true 的权重应高于未审阅的文档 而不是完全
  • VoiceXML 录制整个通话,包括菜单选项

    我正在尝试使用 VoiceXML 在 Nexmo 上 录制整个电话 我可以单独进行录音或给出菜单提示并转接呼叫 但我不知道如何同时执行这两项操作 我想从头到尾记录通话 包括转接的通话部分 我想象 VoiceXML 看起来像这样 但这不是有效
  • 用多态函数覆盖模板化函数

    如果我有 template
  • 为什么 addOnScrollListener 不起作用?

    我尝试在滚动到 recyclerView 底部时实现加载更多 当我的 XML 只有 recyclerView 时它可以工作 但当我将它放入滚动视图和 setNestedScrollingEnabled false 时它不起作用 Requir