如何在 Android Java 中将 1000 多个项目列表从一个 Activity 发送到另一个?

Posted

技术标签:

【中文标题】如何在 Android Java 中将 1000 多个项目列表从一个 Activity 发送到另一个?【英文标题】:How to send 1000+ items List from one Activity to other in Android Java? 【发布时间】:2021-07-24 20:50:17 【问题描述】:

我想将 1000 多个项目的列表从一项活动发送到另一项活动。 在其他活动中,有一个视图寻呼机和一个图像视图来显示图像。但是如果列表项大于 500 或接近 900 左右,应用程序会崩溃,我认为列表未完全发送并发生空指针异常。

【问题讨论】:

我正在发送一个自定义数组列表,其中包含有关壁纸名称、网址和详细信息的数据 如何你目前发送它?另外,如果您可以edit 您的问题包含有用的堆栈跟踪。 adapterWallpaper.setOnItemClickListener((v, obj, position) -> Intent intent = new Intent(getActivity(), ActivityWallpaperDetail.class); intent.putExtra(Constant.POSITION, position); intent. putExtra(Constant.ARRAY_LIST, (Serializable) items);intent.putExtra(Constant.EXTRA_OBJC, obj); startActivity(intent); showInterstitialAdNetwork(); ); 这个数组列表有 1000 多个项目,当我们传递 900 个项目时点击它会显示错误 【参考方案1】:

您不能/不应该将大量数据从一个 Activity 发送到另一个。有更好的解决方案:

    将数据存入你的Activity,使用Fragments,可以直接访问Activity中的数据 将数据引用存储在public static 变量中,可以随时从任何类访问。 将数据存储在文件或sqlite数据库中,任何Activity都可以读取/写入

【讨论】:

【参考方案2】:

我认为将 1000 多个列表项发送到 Activity 不是一个好习惯,因此当你这样做时你的应用程序会崩溃。

您可以尝试不同的方法,也许 Firebase 实时数据库可以提供您需要的解决方案。 https://firebase.google.com/docs/database

【讨论】:

这是一个简单问题的疯狂解决方案。绝对不会推荐这个。

以上是关于如何在 Android Java 中将 1000 多个项目列表从一个 Activity 发送到另一个?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio Java 中将数组上传到 Firestore 数据

如何在 Android Java 中将 Color.RED 代码转换为颜色的整数值? [复制]

如何在 Android Java 中将 MAC 地址转换为 IP?

如何在 JAVA 中将纪元转换为 mySQL 时间戳

在Android Java中将EditText的提示移到顶部[重复]

如何在 Oracle 中将结果从 1000 转换为 1000.00? [复制]