各位看官们,大家好,上一回中咱们说的是Android中Fragment的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在前面的几个章回中介绍了Fragment的交互与嵌套,今天将这部分知识进行总结。这便是本章回的主要内容。
想明白Fragment之间如何交互,那么就需要先知道Fragment之间的关系。它们之间的关系有两种:并列和嵌套。
- 所谓的并列是指两个Fragment一起位于同一个Activity中,鉴于这个原因,我们可以称它们为“兄弟关系”,因为它们拥有相同的父亲:Activity。
- 所谓的嵌套是指一个Fragment包含另外一个Fragment,就像父亲生了儿子一样,鉴于这个原因,我们称它们为“父子关系”。
明白Fragment之间的关系后,就可以看看它们是如何进行交互的了,有一点要明白:不同的关系其交互方式是不同的。
- 具有“兄弟关系”的Fragment之间进行交互,需要借助它们父亲(Activity)的
getSupportFragmentManager()
方法,通过该方法可以获取到FragmentManager
对象,然后就可以使用该对象的findFragmentById()
方法找到其它Fragment,或者说找到其它兄弟,至于想找哪个兄弟,只需要把该兄弟的id传递给findFragmentById()
方法就可以。找到兄弟后,兄弟之间就可以自由地进行交互了。 - 具有“嵌套关系”的Fragment之间进行交互,是双向的。如果是父亲找儿子交互,那么需要使用父亲(Fragment)的
getChildFragmentManager()
方法,通过该方法可以获取到FragmentManager
对象,然后就可以使用该对象的findFragmentById()
方法找到它的儿子。如果是儿子找父亲交互,那么交互方式和兄弟关系的交互方式相同。
现在,我们来总结一下Fragment的交互方式:要想进行Fragment之间的交互,先要明白Fragment之间的关系,不同的关系选用不同的交互方式。
Fragment之间的交互总结完了,接下来我们总结一下Fragment之间的嵌套。
嵌套是可以叠加的,就是说某个Fragment可能嵌套在一个Fragment中,也可能包含另外一个Fragment,或者说它可能是一个人的儿子,也可能是另外一个人的父亲。这点大家最常见了,我们不做太多的解释。虽然嵌套可以叠加,但是嵌套的层次不要太深,否则遇到问题解决起来很麻烦。依据经验来看,嵌套个两三层就可以了。
各位看官,关于Android中Fragment的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!