我有一个广泛使用 fragment 的 Activity 。
通常的流程是:
fragment A -> fragment B -> fragment C -> fragment D
有时我直接从D回到B
int id = getFragmentManager().getBackStackEntryAt(1).getId();
getFragmentManager().popBackStack(id, 0);
它工作正常。但是,我的 Activity 中没有对 fragment B 的任何引用。
发送我刚刚在 fragment D 中获得的 fragment B 数据的最佳方式是什么?
最佳答案
fragment 旨在成为可重用的、独立的 UI 组件。他们通常不应该互相了解。符合separation of concerns的设计原则您应该有某种底层数据对象, fragment 可以对其进行操作以保存数据。
父 Activity 可以传递对此数据结构的引用,或者它可以是一个全局可访问的对象(这个问题足够抽象,提供具体的响应是不可行的)。
关于android - 将数据发送到堆栈中的前一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392733/