问题标签 [android-paging-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Paging 3 跳转滚动
我很难找到一种方法来实现允许我跳到目标位置附近然后平滑滚动到它的滚动行为。
我从 Room PagingSource<Int, CustomObject> 获取数据
我尝试使用 PagingDataAdapter#getItem() 方法在目标位置触发加载,但它只加载这个项目,没有别的,所以它显示了一堆占位符。
在阅读文档时,我想不出一种加载页面或跳转滚动的方法。
有 JumpSmoothScroller 代码,直接从 Google IO sched 应用程序复制粘贴
编辑:我的目标是加载起始位置和目标页面之间的每个页面(或至少目标页面和上一个页面),这样我就可以安全地跳转到目标项目下方的 10 个项目。然后我只需要平滑滚动到目标
android - 在分页适配器中播放视频
我一直在尝试使用 paging 3 库对来自 firebase firestore 的数据进行分页。我关注了这篇文章 - https://medium.com/@ericampire/firestore-pagination-with-paging-3-762e371cc57f。
我的数据库包含视频及其缩略图的 url,以及一些 id、标题和其他元数据。分页似乎工作正常。有没有办法在使用 exoplayer 滚动时在 recyclerview 中播放视频?在 Youtube 或 Facebook 等其他应用程序中使用的东西?我见过一些这样的例子 - https://codingwithmitch.com/blog/playing-video-recyclerview-exoplayer-android/
但是视频网址是硬编码的,数据也没有分页。这可能需要对分页适配器进行一些自定义实现/添加。那么,有什么方法或任何示例可以演示此用例吗?
android - 从 PagingSource 的 LoadResult.Error 中提取 Throwable
我的PagingSource加载一些数据。文档建议像这样捕获异常,以便将来处理LoadResult.Error。
但是当我尝试以这种方式处理它时:
我想知道哪个 Exteption 会被捕获,因为我在参数LoadResult.Error(e)中传递了它(Throwable ) 。
我如何知道 loadState 处理中异常的类型?
android - 首次尝试使用 kotlin 流程后,Android Pagination 3.0 无法搜索
所以,我有一个在 android 中使用 kotlin 流的寻呼机设置。我有一个从用户那里得到的字符串,每当发生变化时,我都会使用 flatmaplatest 运算符从 Pager 对象中获取最新的项目。寻呼机对象如下。
以上在我的视图模型中,我在我的活动中观察这些如下:
我的适配器似乎运行良好,因为当我用不同的列表显示它时没有问题
AedSearchSource 类看起来像这样。
所以,问题是它只在第一次调用 api 并且执行良好时才起作用。然后随后我在 searchAedItem() Pager(PagingConfig(pageSize = 1)) { AedSearchSource(aedApi, gson) }.flow中有不同的文本时 没有执行。但是 flatMapLatest 执行得很好。但是 pager 对象不执行我想要搜索的那个 api。关于我做错了什么的任何想法?
android - android paging 3.0为recyclerview切换两个流程
因此,我有两个流具有来自两个不同 Api 的相同响应。我只有一个 recyclerview 分页适配器。现在,当满足某些条件时,如何在两个流程之间切换。例如,如果有人输入,我有一个 SearchView,我必须调用一个 API 来获取我一个响应。如果我清除 SearchView 我必须从不同的 api 返回响应,但返回到附加的同一个 Recyclerview。
在我的 onCreate 活动中,我正在初始化如下所示的内容
如何在从一个范围发送到另一个范围的 submitData 之间切换
android - Paging 3 Library 使用 LoadType.APPEND 递归调用 load 方法
我正在尝试显示来自IconFinder API的数据。这似乎ItemKeyedDataSource
适合我,我曾经显示官方文档Paging3
中提到的数据。
这是代码,请检查我所做的实现是否有任何问题以及错误在哪里。
IconSetsRemoteMediator
IconFinder存储库
IconSetViewHolder
图标集适配器
主页片段视图模型
IconSetFragment:这是作为ViewPager
. 它的父级是 a Fragment
in an Activity
。
IconSetsDao
android - android Test Room + Paging 3 +Flow测试每次运行都有不同的结果
第 3 页,带房间。我已经像这里的示例一样创建了一个应用程序,并开始为它编写测试。
这是我在 DAO 中的内容:
我想像这样测试它:
与样本中的测试完全一样。奇怪的想法是,当我多次运行测试时,有些通过而有些没有(说differ.snapshot()是空的)当我在这个文件中有几个其他测试(测试更新和删除)并尝试一起运行整个测试,有些通过,有些不通过,每轮通过的测试都不同。
这就是我在 ViewModel 中用于获取列表的内容:
一切都像样本,但不知道为什么会发生这种行为。我看到了其他类似的帖子,这正是我在测试中所做的,但我仍然遇到同样的问题。我应该提到,当我尝试在没有返回 PagingSource<Int, Model> 类型的情况下测试如下查询时:
一切正常。每次我运行它时测试都会通过。所以我认为测试中这部分有问题:
如果有人可以提供帮助并提供一些提示,我会非常高兴,因为我已经为此工作了很长时间。谢谢你。
android - Android Paging 3 与房间
我正在从 Paging 2 迁移到 Paging 3。该应用程序使用 Room 将大型数据集存储在数据库中,我可以从 Room 加载数据并正常显示。我遇到的问题是,一旦应用程序对数据库进行了更改,它就会崩溃。
代码片段
IssueRepository
在函数中onCreateView
因此,当用户点击某个项目时,他们可以对其进行编辑。一旦通过 Room 保存该项目,应用程序就会崩溃,但出现以下异常:
我用错了第 3 页吗?我在网上找不到很多关于使用 Room 作为您进行更改的数据源的文章。
java - 从 android 分页库 2 迁移到分页 3
我正在构建我正在使用的聊天应用程序Room
,它运行良好ViewModel
,PagedListAdapter
但现在我想升级我的应用程序,Paging Library 3
这会导致真正的痛苦。我尝试遵循Android的官方指南,但仍然无法从 lib 2 迁移到分页的版本 3,当我在项目中使用 Java 时,大部分教程都在 kotlin 中。
我从更改主要活动中导致错误的原因PagedListAdapter
开始PagingDataAdapter
然后我还尝试通过更改来升级 Viewmodel,public final LiveData<PagedList<ChatEntity_TableColums>> chatList;
然后LiveData<PagingData<ChatEntity_TableColums>> chatList;
它会导致它的构造函数出错,我找不到替换。
这是我从中检索数据的查询。我正在使用默认值DataSource.Factory
从Room
@Query("SELECT * FROM Chat WHERE RECEIVER_USER_ID = :UserID ORDER BY ID DESC") DataSource.Factory<Integer, ChatEntity_TableColums> getPaginationChat(String UserID);
请指导我使用 Java 将我的项目更新为分页库 3
android - 带有 Paging 3 库的 Facebook Shimmer 库
在我的应用程序中,我从使用分页的 API 加载数据,因此我必须使用分页 3 库,并且我使用 facebook shimmer 库在加载项目时显示微光效果,但问题是即使项目完全加载,也会显示微光效果
文章分页适配器.kt
ArticleFragmnet.kt
ArticleFragmentViewModel.kt
item_article.xml
fragment_article_layout.xml