【问题标题】:Create Fragment with Class Object使用类对象创建片段
【发布时间】:2021-05-14 16:37:55
【问题描述】:

我们可以做到:

val fragment = SomeFragment()
val args = Bundle()
args.putString("Key_Value", "String_Value")
fragment.arguments = args

我们可以像这样从 Fragment 中获取它:

arguments.getString("String_key","Default Value")

我的问题是我们可以传递一个类对象作为参数吗?

val some_object = SomeClass()
args.put("Key_Value", some_object )

【问题讨论】:

    标签: kotlin android-fragments


    【解决方案1】:

    您可以传递可打包的东西(不要对活动、片段等类进行此操作) 看到这个答案:https://stackoverflow.com/a/33649155/7968986

    或者传递一些标识该类的东西,例如,可以将类名作为字符串传递,然后在片段内部调用 startActivity 之类的东西,如果它是你不应该传递的 Activity / Android 相关类(或打包)

    看到这个答案:https://stackoverflow.com/a/39676049/7968986

    一般情况下,如果是parcelized类是不允许太大的,所以在某些情况下需要其他的解决方案

    【讨论】:

    • 第一个(使用 Parcelable)就可以了。非常感谢。
    • 很高兴我能帮上忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 2020-08-06
    相关资源
    最近更新 更多