java - 从 RecyclerView 项目启动 ViewPager

标签 java android android-recyclerview android-viewpager retrofit2

基本上就是标题所说的。当用户单击 RecyclerView 项目时,我正在尝试启动 ViewPager Activity 。我在这里没有问题,效果很好。目标是从基于网格的画廊转到 viewpager 画廊。我还试图发送通过网络加载的数据列表<>。这是我遇到很多麻烦的地方。数据是通过单例发送的,因为它太大而无法通过 Intent 发送,并且如果在应用程序启动时在新 Activity 中打开得太快,则会在原始 Activity 中加载更多数据(即使 Call 被取消,使用 Retrofit2 btw)我需要通知适配器,我有一个监听器。

另一个常见的崩溃是在 viewpager Activity 中读取项目时出现空指针,这对我来说没有意义,因为在发送之前该项目在原始 Activity 中不是空的,但是如果我等待几秒钟它是不为空。可以找到与我的问题有关的一些代码 here ,我昨天提出的一个问题,我无法成功实现。

请指出从 RecyclerView 启动同一数据集的 ViewPager 的正确方向,谢谢

最佳答案

当您将提要数据“发送”到查看寻呼机 Activity 时,使用列表的浅拷贝而不是直接引用它,如下所示

DataTransferer.get().storeItems(new ArrayList(feed));

这应该可以防止 IllegalStateException 由在您的 RecyclerView Activity 中更新的提要引发。

关于java - 从 RecyclerView 项目启动 ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670596/

相关文章:

Java Socket-Server 查询 MySQL 数据库

java - 为什么第一个 for 循环在 Java 中失败了?

java - Hibernate Validation 6.0 ListValueExtractor.extractValues 似乎对大型列表的性能很差

java - Jar 文件 ../android-8/android.jar 没有源代码附件

适用于 Kiosk 设备的 Android 平板电脑或 iPad

android - 根据位置为 RecyclerView 项目设置动画

Java:为什么我的同步输出仍然如此随机

android - 为 Nexus 7 flo 构建 AOSP,输入密码以解密存储

Android RecyclerView Adapter DataBinding - 找不到符号 {layout}BindingImpl

android - RecyclerView双向无限滚动按需加载数据