android - 按下后退按钮后片段重叠
问题描述
我有三个片段(片段A、片段B、片段C)。代码从fragmentA 到fragmentB,然后从fragmentB 到Fragemnt C。
当我按下后退按钮时,我从 fragmentC 转到 fragmentA。
按下后退按钮后,会显示 fragmentA,但您也可以在其后面看到 fragmentC。
片段A
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction;
ft.repalce(R.id.container, fragmentB)
.addToBackStack("Null")
.commit();
片段B
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction;
ft.repalce(R.id.container, fragmentC)
.commit();
片段C
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction;
ft.repalce(R.id.container, fragmentC)
.commit();
当按下后退按钮时,我想从 fragmentC 转到 fragmentA 并且没有在后台显示片段 C
解决方案
在 addToBackStack 中使用 null 作为参数,而不是 "Null"
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction;
ft.repalce(R.id.container, fragmentB)
.addToBackStack(null)
.commit();
推荐阅读
- amazon-web-services - 使用 Name.Com DNS 设置 AWS Beanstalk - URL 重定向不起作用
- javascript - 返回对 2 个承诺的响应
- sonarqube - 在 sonarQube 中添加新规则
- javascript - 如何限制选择不同字段的多项选择?
- react-native-firebase - 在反应原生平面列表项中渲染 Admob 横幅
- java - 当我为 Sqlite 数据库中的存储数据编写 getwriteable 数据库时,应用程序关闭
- laravel - 如何通过 Eloquent 上的 createdAt 和 updatedAt 字段对相同的数据进行两次排序
- javascript - 在 Jest 中重置节点模块
- php - App Engine Standard 上的 Laravel:/srv/bootstrap/cache 目录必须存在且可写
- angular - 角度警报模块构建不起作用