微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 List<List<T>> 传递给我的片段?

如何解决如何将 List<List<T>> 传递给我的片段?

我正在尝试使用 ViewPager2 并为每个创建的新片段传递包中的一些内容

有两件事我不确定,我的类结构和用于创建片段的工厂方法 newInstance()

abstract class Theme(@DrawableRes backgroundRes: Int)

@Parcelize
data class BackgroundTheme(@DrawableRes val backgroundRes: Int): Theme(backgroundRes),Parcelable

@Parcelize
data class FontTheme(val fontName: String,@FontRes val fontRes: Int,@DrawableRes val backgroundRes: Int): Theme(backgroundRes),Parcelable

对于这个类结构,我希望 Theme 向下传递 backgroundRes 但同时也是抽象的,因此它不会被实例化。 @Parcelize 用于尝试使这些类成为 parcelables

companion object {
    @JvmStatic
    fun newInstance(themes: List<List<Theme>>) =
        ThemeFragment().apply {
            arguments = Bundle().apply {
                putParcelable(THEMES,themes)
            }
        }
}

这是片段的工厂方法。我正在尝试将 List<Theme> 传递给这个片段。 putParcelable() 不起作用,看来我需要 putParcelableArrayList()putParcelableArray

如果我的类结构正确,任何人都可以帮助我尝试将这些作为可分块传递给片段吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。