Android开发者网站有一个关于如何使用接口进行通信的great article:
Fragment
及其托管Activity
Fragment
Activity
醇>
我正在努力将此概念应用于嵌套片段。特别是,getActivity()
或Fragment#onAttach(Activity)
会告诉您Activity
正在托管Fragment
的内容。
嵌套片段的等价物是什么? “孩子”Fragment
如何知道它包含在哪个“父”Fragment
中?如果不知道这一点,孩子Fragment
如何将事件传递给其父Fragment
?
一种显而易见的方法是播放来自孩子Fragment
的意图并让父母Fragment
收听广播,但我宁愿使用基于interface
的方法。
答案 0 :(得分:60)
事实证明,为了迎合嵌套片段,引入了getParentFragment()方法。它可以从API 17的android.app.Fragment
获得,但可以使用android.support.v4.app.Fragment
在旧版本上使用。
我无法相信我忽略了这个API!
我遇到了this gist,这使得我们可以轻松,优雅,安全地找出父组件(Fragment
或Activity
)的过程!