我已阅读了许多链接,但所有链接都将数据从一个片段传递到另一个活动或从一个活动传递到其他活动的片段但我想从一个活动的片段发送到另一个活动的其他片段
答案 0 :(得分:0)
除非我遗漏了某些内容,否则你可以从第一个片段调用getActivity().startActivity()
,在该Intent上设置一些额外内容,然后从第二个Activity中将一些参数传递给它创建的片段。
所以,来自FragmentA
Intent i = new Intent(getActivity(), ActivityB.class);
i.setExtra("key", "hello world"); // for example
getActivity().startActivity(i);
然后,ActivityB
onCreate() {
Intent i = getIntent();
FragmentB frag = new FragmentB();
if (i!=null) frag.setArguments(i); // pass along intent
// TODO load Fragment
在FragmentB中使用getArguments()
答案 1 :(得分:0)
如果必须在整个应用程序中传递数据,或者在示例中传递远程活动/片段之间的数据,请考虑使用一些静态类(即使在java中没有静态类。它更像是一个静态字段包装器)。
public class MyRunTimeDatas{
private static String myStringData;
private static int myIntData;
//getters and setters
}
现在,在fragment 1
中使用
MyRunTimeDatas.setMyStringData("my value");
MyRunTimeDatas.setMyIntData(69);
最后在fragment 2
,您现在可以致电
String myBeautifulString = MyRunTimeDatas.getMyStringData();
int myFantasticInt = MyRunTimeDatas.getMyIntData();
你完成了