android fragment 切换

2025-11-06 03:45:02

    版本说明

    fragment是在3.0版本引入的,但是也可以在以前的版本中使用,需要引入android-support-v4.jar支持包,当然调用的方法也不一样,下面介绍的方法兼容了3.0以前的版本,主要介绍fragment的切换

    需要做的准备

    新建一个android项目,主Activity命名为MainActivity

    创建三个Fragment1 Fragment2 Fragment3

    为三个Fragment创建三个布局文fragment1.xml、fragment2.xml、fragment3.xml

    布局 activity_main.xm

    fragment1.xml样例

    android fragment 切换

    Fragment1样例

    android fragment 切换

    另外的可以根据样例进行修改

    activity_main.xml内容

    android fragment 切换

    activity打开时我们需要显示一个fragment,也就是需要先向容器中添加一个fragment

    android fragment 切换

    这是就能显示第二个fragment了,那么如何切换不同的fragment呢,切换的过程如下

    开启事务

    调用事务的replace方法,将当前容器的fragment替换为新的fragment

    提交事务

    android fragment 切换

    注意上图红框中的addToBackStack方法,很多人都不是很清楚这个方法的实际作用,说一下程序运行时候的现象你就明白了

    初始化时显示的是  fragment2

    实践1 :fragment2------点击按钮frag1-----按返回键--------退出应用

    实践2: fragment2-----点击按钮frag3 -----按返回键--------返回到fragment2

    为啥会出现上面的情况,原因就是切换到fragment3时,调用了addToBackStack方法,这时会将fragment2先入栈,然后再切换到fragment3,按返回键的时候fragment3销毁,fragment2出栈显示,而切换到fragme1时没有将fragme2入栈,所以fragment2就直接销毁了,再按返回键就直接退出应用了

    样例代码可以从百度网盘上下载

    pan.baidu.com/s/1eQ7oe0E

   

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢