Java 如何在属于同一容器活动的两个片段之间传递数据?

Java 如何在属于同一容器活动的两个片段之间传递数据?,java,android,android-fragments,parameter-passing,Java,Android,Android Fragments,Parameter Passing,我在一个片段中有一个arraylist,需要传递给另一个片段。这两个片段属于同一个容器活动。 这就是我想出来的,但很明显这有点问题 这就是我从碎片1发送数据的方式: Bundle b=new Bundle(); b.putStringArrayList("Brands",allBrands); Fragment fragment = new Fragment(); fragment.setArguments(b); brands = getArguments(

我在一个片段中有一个arraylist,需要传递给另一个片段。这两个片段属于同一个容器活动。 这就是我想出来的,但很明显这有点问题

这就是我从碎片1发送数据的方式:

    Bundle b=new Bundle();
    b.putStringArrayList("Brands",allBrands);
    Fragment fragment = new Fragment();
    fragment.setArguments(b);
 brands = getArguments().getStringArrayList("Brands");
这就是我试图在Fragment2接收数据的方式:

    Bundle b=new Bundle();
    b.putStringArrayList("Brands",allBrands);
    Fragment fragment = new Fragment();
    fragment.setArguments(b);
 brands = getArguments().getStringArrayList("Brands");
我知道事情不是这样的。请帮帮我。
我检查了关于实现fragmentlistener的问题。这与此无关。

在片段之间有几种不同的通信方式

1) 创建接口 2) 共享首选项 3) sqlite数据库

使用1)创建一个公共方法,其中两个片段都可以读取信息

使用2)可以永久保存信息,直到覆盖或删除应用


使用3)与第二个相同,但这取决于应用程序是否真的需要数据库

片段之间的通信方式很少

1) 创建接口 2) 共享首选项 3) sqlite数据库

使用1)创建一个公共方法,其中两个片段都可以读取信息

使用2)可以永久保存信息,直到覆盖或删除应用

使用3)与第二个相同,但这取决于应用程序是否真的需要数据库

可能重复的通读说明:“所有片段到片段的通信都是通过相关活动完成的。两个片段不应直接通信”,并更详细地解释了这一想法。可能重复的通读说明:“所有片段到片段的通信都是通过相关活动完成的。两个片段永远不应该直接交流”,并更详细地解释了这个想法。