按下ANOTHERFRAGMENT之前
按下之后
怎么让前一个fragment的button和textview去掉
android fragment切换后,上一个fragment的组件留了下了
答案:2 悬赏:70 手机版
解决时间 2021-02-27 12:59
- 提问者网友:半生酒醒
- 2021-02-26 22:31
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-02-27 00:05
你切换ANOTHERFRAGMENT是用的add的吧
之前的fragment估计你没有remove掉,你也可以使用replace替换掉
之前的fragment估计你没有remove掉,你也可以使用replace替换掉
全部回答
- 1楼网友:迷人又混蛋
- 2021-02-27 01:44
版本说明
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样例
fragment1样例
另外的可以根据样例进行修改
activity_main.xml内容
activity打开时我们需要显示一个fragment,也就是需要先向容器中添加一个fragment
这是就能显示第二个fragment了,那么如何切换不同的fragment呢,切换的过程如下
开启事务
调用事务的replace方法,将当前容器的fragment替换为新的fragment
提交事务
注意上图红框中的addtobackstack方法,很多人都不是很清楚这个方法的实际作用,说一下程序运行时候的现象你就明白了
初始化时显示的是 fragment2
实践1 :fragment2------点击按钮frag1-----按返回键--------退出应用
实践2: fragment2-----点击按钮frag3 -----按返回键--------返回到fragment2
为啥会出现上面的情况,原因就是切换到fragment3时,调用了addtobackstack方法,这时会将fragment2先入栈,然后再切换到fragment3,按返回键的时候fragment3销毁,fragment2出栈显示,而切换到fragme1时没有将fragme2入栈,所以fragment2就直接销毁了,再按返回键就直接退出应用了
样例代码可以从百度网盘上下载
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯