一起Talk Android吧(第五十回:Android中的Fragment嵌套一)

来源:互联网 发布:把json转化成数组 编辑:程序博客网 时间:2024/06/05 12:47

各位看官们,大家好,上一回中咱们说的是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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


阅读全文
0 0
原创粉丝点击