在片段A中,我具有回溯网址的功能 在片段B中,我具有继续并显示URL的功能。
片段A如何告诉片段B有新数据要继续进行,其中2个片段并排放置?
答案 0 :(得分:0)
碎片意味着要重复使用......也就是说,两个碎片不应该直接在彼此之间传递数据。相反,您应该在活动中定义callback method。这将确保您可以在应用程序的其他位置(以及您制作的其他应用程序中)重新使用您的片段。
答案 1 :(得分:0)
您需要定义接口并在接口中调用方法。另一个片段将实现该接口,当调用该方法时,您将调用所需的方法。
希望它有所帮助。
修改强>
这是我建议的approch。在我的场景中,FragmentA是调用你的方法的那个,而FragmentB是包含该方法的那个。
在fragmentA中定义此界面
public interface FragmentContainer {
void onMethodThatYouWantToBeFired();
}
在onAttach中,做一些类似的事情:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
Fragment parentFragment = getParentFragment();
if (parentFragment == null) {
mFragmentContainer = (FragmentContainer) activity;
} else {
mFragmentContainer = (FragmentContainer) parentFragment;
}
}
让您的活动实现YourFragment.FragmentContainer并覆盖方法void onMethodThatYouWantToBeFired();
触发此方法时,请调用FragmentB中注册的侦听器。当侦听器被触发时,您可以调用您感兴趣的FragmentB中的方法。
我希望它可以帮到你。