各位看官们,大家好,上一回中咱们说的是Android中Fragment的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在上一回中介绍了嵌入在同一个Activity中的两个Fragment如何进行交互,接下来我们将介绍两个嵌套的Fragment如何进行交互,不过在介绍之前,我们先来谈一谈两个Fragment之间如何进行嵌套。这便是本章回的内容。
两个Fragment之间的嵌套类似Fragment加载到Activity中间,它有两种嵌套方式:
- 一种是静态嵌套,
- 一种是动态嵌套。
今天我们先来看看静态嵌套,静态嵌套的方式和Activity中静态加载Fragment类似,只需要在FragmentA的布局文件中使用fragment标签的name属性就可以,接下来我们通过代码结合说明的风格来介绍。
- 1.创建一个名为fragment_a的布局文件,该文件就是FragmentA的布局文件,至于布局文件中的内容,可以自己去定义;
- 2.创建一个名为fragment_b的布局文件,该文件就是FragmentB的布局文件,至于布局文件中的内容,可以自己去定义;
- 3.创建一个名为FragmentB的类,该类继承自Fragment,接着重写该类的onCreateView方法, 具体的代码为:
public class FragmentB extends Fragment { //重写onCreateView方法
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view =
inflater.inflate(R.layout.fragment_b,container,false);
//fragment_b就是刚才创建的布局文件 return view;
}
//override other callback
}
- 4.通过修改FragmentA的布局文件,使用fragment标签的name属性把刚才创建的FragmentB和FragmentA关联起来,具体的代码为:
<LinearLayour ...> //这是FragmentA的布局文件
<fragment
//使用fragment标签以及它的name属性
android:id=... //这个不可少,算是Fragment的“身份证”
android:name="packagename.FragmentB"
//使用name属性来关联。赋值时使用包名.类名。包名是自己程序的包名,类名是步骤3中创建的类名。
....
//其它长度,宽度等大小属性省略不写
>
</LinearLayour>
看官们,以上就是Fragment之间静态嵌套方法,它和Activity中静态加载Fragment的方法十分类似,不过有一点不同之处就是我们在这里没有写出Activity的布局文件,FragmentA是不能单独使用的,它需要加载到Activity中的,至于使用静态加载还是动态加载,我们不关心,因为使用哪种方式都一样。今天就说一种嵌套方法,我们将在下一章回中介绍动态嵌套Fragment的方法。
各位看官,关于Android中Fragment的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!