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

在android中,将数据从一个片段传递到另一个片段的最佳方式是什么?,android,android-fragments,Android,Android Fragments,在android中,将数据从一个片段传递到另一个片段的最佳方式是什么?我知道Otto和事件总线可以处理这个问题,但是非库方式到底应该做什么呢 在回答之前请考虑以下事项 通常,您希望一个片段与另一个片段通信,例如根据用户事件更改内容。所有片段到片段的通信都是通过相关活动完成的。两个片段不应直接通信。如果不使用Otto/EventBus,则应使用侦听器接口 您可以使用Bundle来完成 MyFragment fragment = new MyFragment (); Bundle data= ne

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


在回答

之前请考虑以下事项


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

如果不使用Otto/EventBus,则应使用侦听器接口

您可以使用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");

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

这是创建新片段时的方法,但我认为问题是,当你已经有两个片段,并且需要在它们之间发送数据时,要做什么。请在回答之前考虑下面的内容,通常你会希望一个片段与另一个片段进行通信,例如,基于用户事件改变内容。所有片段到片段的通信都是通过相关活动完成的。两个片段不应该直接通信。