gpt4 book ai didi

java - 将信息从一个 Fragment 发送到另一个 Android

转载 作者:行者123 更新时间:2023-12-01 20:13:12 26 4
gpt4 key购买 nike

我在嵌套 fragment 时遇到了这个问题。我需要一个能够向另一个发送信息。

例如,如果我按下内部 fragment 中的按钮,我希望外部 fragment 执行一个操作。

任何帮助都会很棒!

编辑:我忘了提及,这两个都是实时 fragment 。据我所知,使用 bundle 仅允许我在创建 fragment 时设置参数,而不能在创建 fragment 后设置参数。

最佳答案

有很多方法可以解决这个问题。这实际上取决于您想要采用的架构。

您可以偷懒并使用总线库,该库使用 sub/pub 建模和反射来通知已注册并具有匹配的更改签名方法的通用对象,但是,不赞成将反射用于常规编码实践,这可能是没有它就可以实现。

我想说,您可以创建一个接口(interface)来表示像 IMainActivityCallbacks 一样使用 dataChange(myObject obj) 等方法来回调用的接口(interface)。然后在 fragment 的 onAttach 中,将上下文转换为 IMainActivityCallbacks。确保 MainActivity 实现该接口(interface)。

然后只需调用 mIMainActivityCallbacks.dataChange(someObject);这将调用父 Activity 中的方法,并允许他使用 mMyOtherFragment.publicMethod(newDataJustReceived) 将其传递给需要它的子 Fragment。

如果您想要将一个接口(interface)传递到引用外部 fragment 的子 fragment 中,那么您还可以变得更疯狂,因此当 MainActivity 更新子 fragment 时,外部 fragment 可以实现 doStuff 的接口(interface),然后作为接口(interface)传递给内在 child fragment 。因此,子 fragment 可以很容易地说,如果“mParentInterface”不为空,则 mParentInterface.doStuff。

给猫剥皮的方法有数百万种,但通常更喜欢使用接口(interface)而不是基于反射的库。希望有帮助。

关于java - 将信息从一个 Fragment 发送到另一个 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46351788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com