java - 将 `TransformingRandomAccessList<T>` 转换为 `List<T>`

标签 java android

调用Lists.transform后,我们得到一个TransformingRandomAccessList。这很棒,只是在尝试打包它时,我们遇到了异常崩溃:

Caused by: org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable class for com.google.common.collect.Lists$TransformingRandomAccessList, verify that your class is configured properly and that the Parcelable class com.google.common.collect.Lists$TransformingRandomAccessList$$Parcelable is generated by Parceler.

List<Foo> items = List.transform(...);

Bundle bundle = new Bundle();
bundle.putParcelable("MyItemsKey", Parcels.wrap(items));

任何快速且容易地将项目转换为普通列表的方法。或者是否有更好的方法将其放入 Bundle 中?

最佳答案

我会用这个:

ImmutableList.copyOf(items);

另一种选择是使用 java 库中的

new ArrayList<Foo>(items);

关于java - 将 `TransformingRandomAccessList<T>` 转换为 `List<T>`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620151/

相关文章:

android - 我们可以在 xxxActivity 类之外编写 MyLocationListener 吗?

android - 如何使用共享选项在 textview 中共享可用内容

android - Dagger 2 组件继承和错误

android - 如何在Android Kotlin中保存/使用用户输入

java - 横向滚动背景移出框架

java - 关闭 JDialog 后运行语句

java - 如何在 SplashScreen 之后启动另一个 Activity。启动画面在给定的计时器之后崩溃

android - 我可以使用单个 Activity 显示多个屏幕内容吗

java - 读取和到达文件末尾时 ObjectInputStream 出现异常

java - 为什么 Twitter 应用程序不共享动画 gif?