当前位置: 首页 > 知识库问答 >
问题:

在android中,将数据从一个片段传递到另一个片段的最佳方式是什么?[副本]

堵宪
2023-03-14

在android中,将数据从一个片段传递到另一个片段的最佳方式是什么?我知道Otto和事件总线可以处理这个问题,但非库方式到底应该做什么呢?

回答前请考虑以下内容

http://developer.android.com/training/basics/fragments/communicating.html

通常,您希望一个片段与另一个片段进行通信,例如根据用户事件更改内容。所有片段到片段的通信都是通过关联的活动完成的。两个片段不应直接通信。

共有3个答案

罗学林
2023-03-14

在MainActivity中实现一个侦听器,并将该值传递给MainActivity中的另一个片段。片段通常用作可重用组件,最好在MainActivity中使用侦听器接口来减少片段之间的耦合。

解浩渺
2023-03-14

如果不使用Otto/EventBus,那么应该使用监听器接口。

郁灿
2023-03-14

您可以使用Bundle

MyFragment fragment = new MyFragment ();
Bundle data= new Bundle();
data.putString("Key", "Value");
fragment .setArguments(args);    
getFragmentManager().beginTransaction().add(R.id.container, fragment ).commit();

在另一个片段中检索捆绑包onCreate by

String value = getArguments().getString("Key");
 类似资料:
  • 这是我完整的logcat: 在Android.support.v4.app.backStackRecord.doaddop(backStackRecord.java:414)在Android.support.v4.app.backStackRecord.replace(backStackRecord.java:449)在Android.support.v4.app.backStackRecord.

  • 我有两个活动,在活动1中有碎片,在活动2中有碎片 fragment1和fragment2扩展自FragmentActivity1,activity2扩展自AppCompatActivity 我想将字符串值从fragment1发送到fragment2,而不获取空值。我希望你能理解这个问题。谢谢

  • 我知道的一种方法是通过活动。我们可以将数据从一个片段发送到另一个活动,再从一个活动发送到另一个片段。还有其他方法吗?

  • 在FragmentOne.class扩展android.support.v4.app.

  • 我想将数据从回收视图传递到另一个片段中,第一个适配器用于显示项目,第二个适配器用于篮子片段,希望将选定的项目放入。 我要从中获取数据的适配器 这是我要将数据放入的篮子片段的适配器 现在,我可以用来在它们之间传递数据。

  • 我在一个片段中有一个复选框列表(我们称之为FragmentA),我有一个包含两个片段(FragmentB和C)的活动。如果选中一个复选框,我想在片段C中显示一条消息,说明选中了特定的复选框。我需要帮助,因为我不知道如何将(isChecked)从片段A传递到片段C。 FragmentA.java 分数不影响碎片C。 包含片段 B 和 C 的活动 片段C 活动