考虑一下情况:
有mainActivity
。通过此活动,我们可以调用两个片段:fragmentA
和fragmentB
。
mainActivity
有一个getter getValue
和一个setter setValue
。
大多数情况下,这就是应用程序的工作方式:mainActivity
已创建。从中fragmentA
创建。在fragmentA
中按下后退按钮后,应用程序将返回mainActivity
并转到fragmentB
。
我想要做的是,我想在setValue
中mainActivity
到fragmentA
并在fragmentB
中获取该值。
我无法做到这一点,因为看起来两个片段都没有相同的活动实例。
这是我尝试从mainActivity
和fragmentA
访问fragmentB
的setter / getters的方式:((MainActivity)getContext()).getValue();
我做错了什么?
答案 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);
这就是你如何在片段和活动或活动和活动之间传递价值