ViewPager 的无尽适配器

2023-11-26

我一直在使用CWAC 的 EndlessAdapter实现ListViews的无限滚动。

我想完成 ViewPager 的同等功能。不幸的是,PageAdapter 和ListAdapter 不共享相同的公共基类。

解决这个问题的最佳方法是什么?是否存在已经处理此问题的库?


解决这个问题的最佳方法是什么?

将“无尽”逻辑添加到您自己的实现中PagerAdapter。或者,如果您愿意,可以尝试创建一个装饰PagerAdapter,这样的方式EndlessAdapter装饰一个常规的Adapter.

考虑到后者可能会很棘手PagerAdapter专为页面视图或片段而设计,以及类内部的片段处理,例如FragmentPagerAdapter有点吓人。

是否存在已经处理此问题的库?

据我所知,没有一个。

主要是因为用例似乎不那么引人注目。与一个ListView,用户可以快速滚动列表,快速滚动数十或数百行。因此,使用“我们到了最后”作为加载更多数据的触发器似乎是合理的。与一个ViewPager但是,通常需要更长的时间才能到达终点,特别是如果您不使用PagerTabStrip或同等内容。因此,等到用户一直读到最后才开始加载附加数据似乎会让用户感到厌烦——您有所有这些时间来检索更多数据,但没有使用它。

因此,另一种选择是您注册一个ViewPager.OnPageChangeListener和你的ViewPager. When onPageSelected(),并且您认为自己已接近尾声,开始AsyncTask(或其他什么)去收集更多数据。问题是您将需要更新所使用的数据PagerAdapter并打电话notifyDataSetChanged()数据更新后,在该适配器上。

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

ViewPager 的无尽适配器 的相关文章

随机推荐

  • bash 使用 zsh 等快捷方式扩展 cd

    是否有可能在 bash 中扩展类似的东西 cd u lo b to cd usr local bin 抱歉 我无法早点发布 我正在工作 并且绑定功能比我最初想象的更容易出现问题 这是我想出的 绑定以下脚本 bin bash HOME bas
  • node.js - 在进程之间共享套接字

    我读到可以在进程之间共享套接字 这在 Node js 中也可行吗 我在 node js 中看到了集群 api 但这不是我要找的 我希望能够在一个进程中接受连接 也许发送和读取一点 并在一段时间后将此套接字传递给另一个完全独立的 node j
  • 如何将Makefile重写为android.mk?

    在我的新项目中 我需要基于一个c编写的项目 我知道我可以使用 NDK 来做到这一点 但这里有一个问题 如何重写标准Makefile进入Android mk 更进一步 在Android中 我可以忽略ndk 直接使用jni构建项目 将c项目适配
  • 如何在 Electron 中访问 的 DOM?

    我刚刚开始使用 Electron 之前有使用过 node webkit nw js 的经验 在 nw js 中 我能够创建 iframe 然后访问所述 iframe 的 DOM 以获取标题 图标等内容 几天前 当我拿起 Electron 将
  • 将本地 .aar 文件添加到我的 gradle 构建中

    所以我创建了一个Android库并成功将其编译成 aar文件 我将这个 aar 文件命名为 projectx sdk 1 0 0 aar 现在我希望我的新项目依赖于这个 aar 所以我所做的是这个帖子 但这篇文章让我感到困惑 因为我没有得到
  • 导入android.support.v7无法解决

    我是安卓新手 目前 我有adt bundle windows x86 20131030 zip Windows 32 位 已安装 并已成功安装 Android SDK 和 Eclipse 另外 我还更新了 Android SDK 管理器中的
  • 用于 Ruby on Rails / ActiveRecord 的优雅 PostgreSQL Group by

    尝试使用 PostgreSQL 检索按日期分组的 ActiveRecord 对象数组 更具体地说 我正在尝试翻译以下 MySQL 查询 posts Post all group gt date date conditions gt loca
  • 具有其他表的多个 id 的 SQL 字段

    有人可以告诉我如何创建这个数据库结构吗 这是一个例子 Table countries id countryname 1 US 2 DE 3 FR 4 IT 现在我有另一个表 产品 我想在其中存储该产品可用的所有国家 地区 Table pro
  • 使用 js (jquery) 查找所有 YouTube 链接

    假设有一个包含内容和 YouTube 链接的 div 我想获取该 YouTube 链接并将其嵌入 div p Here is a cool video Check it out http www youtube com watch v oH
  • mysql 选择没有表的日期

    我只需要返回一个月内所有日期的列表 我没有访问特定的表 所以我需要一个 sql select 语句 如果给定二月份 则返回以下内容 Day 2011 02 01 2011 02 02 2011 02 03 etc etc 2011 02 2
  • 什么是好的 PHP 模板系统? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 集成 PHP 的最好 最简单的模板系统是什么 使用它有什么好处 我目前根本不使用它 并且我认为这可能有助于将内容与演示文稿进一步分离 PHP 本身就
  • cartopy set_xlabel set_ylabel (不是刻度标签)

    使用 cartopy 地图时 我无法添加 xlabel 或 ylabel 有没有办法做到这一点 我不是在寻找刻度标签 import matplotlib pyplot as plt import cartopy ax plt axes pr
  • 使用导航组件重新加载片段

    我正在使用导航组件加载我的片段 如下所示 https developer android com guide navigation navigation getting started navController findNavContro
  • SQL 查询中的 IF 条件

    我是 SQL Server 的新手 请帮我在查询中编写以下逻辑 If getnow gt today 4 PM Then SELECT FROM table WHERE MailDate is Tomorrow Else SELECT FR
  • Haskell 中函子如何工作?

    我正在尝试学习 Haskell 并且我已经完成了所有基础知识 但现在我陷入困境 试图了解函子 我读过 函子将一个类别转换为另一个类别 这是什么意思 我知道有很多问题要问 但有人可以给我一个吗简单的英语函子的解释或者可能是简单的用例 我不小心
  • 将存储过程返回值分配给 VBA 变量

    这应该很容易 但我还没有找到真正简洁的答案 我在 sql server 中有一个非常简单的存储过程 它返回一个整数值 我想要做的就是将该返回值放入变量中以便在 Access 中使用 存储过程 ALTER PROCEDURE dbo out
  • 检测计划关闭

    我有一个 cmd 脚本 它将执行一组补丁 它被设计为在需要重新启动时中止以避免补丁问题 我还想扩展脚本以在计划重新启动时中止 例如通过 shutdown 命令 以便尽可能避免在补丁中重新启动 不幸的是 除了尝试安排另一次关闭之外 我还没有找
  • Bitbucket 警告我的 git 存储库太大,但我无法确认大文件

    Bitbucket 警告我的 Git 存储库超过 1 GB 事实上 在存储库详细信息页面说它是1 7 GB 太疯狂了 我一定在版本控制中包含了大数据文件 我的本地存储库实际上是10 GB 这意味着至少我一直在使用 gitignore在某种程
  • Eclipse 中的 JPA 项目出现问题 - 注释 @Entity 的类中出现错误:无法解析表“xxx”

    我正在尝试在 Eclipse Indigo 中创建简单的 EJB JPA 项目 我创建了新的 EJB 项目 其中 目标 现有的 Glassfish 服务器 配置 EJB 模块 GlassFish 部署描述符文件 Java JPA 在窗口 J
  • ViewPager 的无尽适配器

    我一直在使用CWAC 的 EndlessAdapter实现ListViews的无限滚动 我想完成 ViewPager 的同等功能 不幸的是 PageAdapter 和ListAdapter 不共享相同的公共基类 解决这个问题的最佳方法是什么