【问题标题】:How to Connect with one fragment with another fragment如何将一个片段与另一个片段连接
【发布时间】:2021-06-25 05:49:26
【问题描述】:

我是 Fragment 的新手。我的问题是怎么做,当我选择我的 (OneFragment.java) 单选按钮时,另一个 (Threefragment.java) 也将被选中并显示数据。

这是我产品的一些图片,希望有人能帮助我。

This is My FirstFragment.Java

This is My ThirdFragment.Java

【问题讨论】:

  • 图像没有帮助,一些代码会有所帮助。简而言之:您应该创建一个由Fragments 实现的interface,将它们注册到Activity(保留在某个数组中)并调用任何片段getActivity().notifyAllListeners(value)notifyAllListeners 将是一种方法,您应该在其中迭代已注册接口的数组(因此 Fragments)并传递所需的 value

标签: java android android-studio android-fragments


【解决方案1】:

片段之间有多种通信方式。最好的方法是使用片段管理器。

在片段 3 中,初始化监听器。

setFragmentResultListener("requestKey") { key, bundle ->
    // Any type can be passed via to the bundle
    val result = bundle.getString("data")
    // Do something with the result...
}

从片段 1 开始,您可以借助请求键和捆绑包传递数据。

setFragmentResult("requestKey", Bundle())

确保片段版本是最新的。

【讨论】:

    【解决方案2】:

    您可以使用共享ViewModel 在片段之间传递数据,使用可观察对象保留值并通过共享 ViewModel 在任何片段中显示。 这是共享ViewModel的正确Implementation

    【讨论】:

      猜你喜欢
      • 2013-06-30
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      相关资源
      最近更新 更多