我有两个片段A和B.我使用以下方法从片段A到片段B。
getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, new B()).addToBackStack(TAG).commit();
现在我想将数据从片段B发送到Fragment A,即Previous Fragment。 您能否告诉我如何将数据发送到之前的片段。
由于
答案 0 :(得分:0)
检查documentation有关碎片及其通信的信息。
您想将信息从一个片段传递到另一个片段吗?一个片段不应该知道其他片段。使片段B通过接口与其活动通信,并使活动将数据传递给片段A
答案 1 :(得分:0)
您创建一个名为Fragment
的{{1}}的子类,其中A,B是它的实例。然后创建一个静态工厂方法,将MyFragment
作为参数,如:
MyFragment
public static MyFragment newInstance(MyFragment a){
MyFragment b = new MyFragment();
MyFragment b.a = a;
return b;
}
是b.a
的字段。然后,您可以使用参考MyFragment
发送数据。
答案 2 :(得分:0)
您可以通过Activity替换片段,在片段之间进行通信。
将数据传递给activity,然后调用要更新数据的该片段的方法。 2.其他方法你可以在Activity中取一个变量并将数据保存到这个变量中,当加载另一个片段(片段A)时(恢复)然后通过获取来显示Activity变量中的数据
((HomeActivity)getActivity).variableName;