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

Java 如何在片段中获得相同的活动实例?,java,android,android-fragments,Java,Android,Android Fragments,考虑以下情况: 有main活动。从这个活动中我们可以调用两个片段:fragmentA和fragmentB main活动有一个gettergetValue和一个settersetValue 大多数情况下,这就是应用程序的工作方式:mainActivity已创建。从它片段创建一个。在fragmentA中按下后退按钮后,应用程序将返回到mainActivity并转到fragmentB 我想做的是,我想在fragmentA中setValue到mainActivity,然后在fragmentB中获取该值

考虑以下情况: 有
main活动
。从这个活动中我们可以调用两个片段:
fragmentA
fragmentB

main活动
有一个getter
getValue
和一个setter
setValue

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

我想做的是,我想在
fragmentA
setValue
mainActivity
,然后在
fragmentB
中获取该值

我不能这样做,因为看起来两个片段没有相同的活动实例

这就是我如何尝试从
fragmentA
fragmentB
访问
mainActivity
的setter/getter:
((mainActivity)getContext()).getValue()


我做错了什么?

我建议使用以下方法:

((MainActivity) getActivity()).getValue;
另外,确保
main活动中的
getValue()
方法设置为public


我希望这会有所帮助。

在活动中创建Bunde对象

Bundle bundle = new Bundle();
在bundle中插入值(可以传递多个值)
键可以是任何字符串,并且对于每个值都应该是唯一的

 bundle.setString(key,"value");
创建相应片段的对象并将包附加到该对象

 fragmentobject.setArguments(bundle);
在接收片段中创建Bundle对象

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

这是在片段和活动或活动和活动之间传递值的方式

请在此处发布MainActivity和片段的代码。听起来像这样@marius您要传递给第二个片段的getValue是什么?@VinodPattanshetti它是int,另一个值是BigDecimal(我有不止一个)@marius您应该提问以显示您的实际代码正如我所知-您应该使用getActivity进行UI相关的工作,使用getContext了解应用程序的某些状态。嗯,我使用我提到的方法向我的主要活动发送和接收数据。如果我误解了你,请纠正我。将你的片段耦合到任何一个活动都是很糟糕的design@cricket_007请你详细说明你的观点好吗?我不明白你说的耦合是什么意思。一个片段永远不应该知道它们连接到哪个特定的片段。当然,这可能是最“正确”的方法。但是,我还需要传递BigDecimal值,据我所知,您不能(或者需要将其转换为字符串)。
String value=“100000000.99999999999”;BigDecimal money=新的BigDecimal(value.replaceAll(“,”,”);系统输出打印(货币)
@Marius
BigDecimal
是可序列化的。