【问题标题】:Fragment Interface Null Pointer Exception in Kotlin with Parent and Child Fragments带有父子片段的 Kotlin 中的片段接口空指针异常
【发布时间】:2019-12-13 22:03:00
【问题描述】:

在处理一些片段时遇到问题。

编写所有这些 kotlin。

我有一个 MainActivity(单一活动应用程序)。我试图让父片段将字符串传递给子片段。当关注这个tutorial 时,它只会不断循环。我遇到的任何其他解决方案都只会导致空指针异常。

Basic communication between two fragments

顺便说一句,我也在使用 android 组件导航。

此外,我必须在使用该字符串时将对象列表从子片段发送回父片段。

有什么建议吗?

编辑:

澄清,我在底部导航环境中运行一个片段,它是父片段。然后,在该父片段内部是一个视图分页器,带有用于在片段之间切换的选项卡布局。在这些片段中,我尝试使用 fab 按钮和警报对话框将数据添加到列表中。一切都在单独的片段中工作,数据共享是我正在努力解决的问题。我还没有尝试过这个捆绑包,因为我不确定它是否会起作用。不过我会试一试的。

【问题讨论】:

    标签: android android-fragments kotlin


    【解决方案1】:

    您是否尝试过使用捆绑包?

    var bundle = bundleOf("amount" to amount)
    view.findNavController().navigate(R.id.confirmationAction, bundle)
    

    你可以像这样获取目标片段中的数据

    arguments?.getString("amount")
    

    这是用于从父级向子级发送数据,至于向后发送我不确定你是否真的可以这样做,据我所知,当你按下时你只是破坏当前片段并调出前一个片段片段到屏幕,你没有创建或再次调用它,所以我认为你不能在没有实际重新创建父片段的情况下发送任何数据。

    【讨论】:

    • 更新了我的问题以进行澄清。我还没有尝试过捆绑包可以试一试。这个概念有点混乱。
    • 在大多数情况下,bundle 也用于在两个片段或活动之间共享数据,您尝试过吗?成功了吗?
    • 问题是我正在导航到一个新片段。这是一个viewpager(两个fragment),需要更新viewpager所在的父fragment中的列表。
    猜你喜欢
    • 2013-05-14
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    相关资源
    最近更新 更多