如何在片段中获取相同的活动实例?

时间:2017-04-24 07:40:48

标签: java android android-fragments

考虑一下情况: 有mainActivity。通过此活动,我们可以调用两个片段:fragmentAfragmentB

mainActivity有一个getter getValue和一个setter setValue

大多数情况下,这就是应用程序的工作方式:mainActivity已创建。从中fragmentA创建。在fragmentA中按下后退按钮后,应用程序将返回mainActivity并转到fragmentB

我想要做的是,我想在setValuemainActivityfragmentA并在fragmentB中获取该值。

我无法做到这一点,因为看起来两个片段都没有相同的活动实例。

这是我尝试从mainActivityfragmentA访问fragmentB的setter / getters的方式:((MainActivity)getContext()).getValue();

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我建议使用以下方法:

((MainActivity) getActivity()).getValue;

另外,请确保getValue()中的MainActivity方法设置为公开。

我希望这会有所帮助。

答案 1 :(得分:0)

在Activity

中创建一个Bunde对象
Bundle bundle = new Bundle();

在bundle中插入值(可以传递多个值)
key可以是任何String,并且对每个值都应该是唯一的

 bundle.setString(key,"value");

创建相应Fragment的对象并将bundle附加到它

 fragmentobject.setArguments(bundle);

在接收片段中创建Bundle对象

Bundle fragmentbundle = getArguments();
String value = fragmentbundle.getString(key);

这就是你如何在片段和活动或活动和活动之间传递价值