应用于嵌套片段的片段间通信?
Android开发者网站有一篇关于如何使用接口进行通信的文章 :
- 一个
Fragment
及其托pipeActivity
- 由同一
Activity
托pipe的两个Fragment
我正在努力将这个概念应用于嵌套的片段 。 特别是, getActivity()
或Fragment#onAttach(Activity)
告诉你哪个Activity
托pipe一个Fragment
。
嵌套片段的等价物是什么? “孩子” Fragment
如何知道它包含在“父” Fragment
中? 而不知道这一点,一个孩子的Fragment
怎么能把事件传递给它的父代Fragment
呢?
一个显而易见的方法是从子Fragment
广播意图,并让父Fragment
监听广播,但我宁愿使用基于interface
的方法。
原来有一个getParentFragment()方法被引入来迎合嵌套的片段。 它在API 17的android.app.Fragment
上可用,但可以在使用android.support.v4.app.Fragment
旧版本上使用。
我不能相信我忽略了这个API!
编辑:
我碰到了这个要点 ,使这个过程计算出父组件(无论是Fragment
还是Activity
)简单,优雅和安全!