android - 从 Activity 到 Fragment 的后退
问题描述
我有一个BaseActivity,它具有以下流程FragmentA -> Fragment B -> FinalActivity。现在我想通过从FinalActivity到FragmentA的后退按钮单击来进行回压。
从BaseActivity我调用FragmentA之类的,
Fragment selectedFragment = FragmentA .newInstance();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container_fragment, selectedFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack("Some String");
transaction.commit();
从FragmentA我称FragmentB 之类的,
Fragment selectedFragment = FragmentB.newInstance();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container_fragment, selectedFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack("Some String");
transaction.commit();
从FragmentB到FinalActivity我这样称呼,
startActivityForResult(FinalActivity.newIntent(getActivity()), 1);
现在从FinalActivity后退按钮我想显示FragmentA
帮助我如何导航。
解决方案
Fragment selectedFragment = FragmentB.newInstance();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container_fragment, selectedFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.commit();
如果你想回到片段 A那么你不需要添加下面给出的
行当 relpace 片段从片段 A到片段 B只需从你的代码中删除这个给定的行
transaction.addToBackStack("Some String");
并像这样更改开始活动的代码
startActivity(getActivity(),FinalActivity.class);
推荐阅读
- java - 当我使用增量运算符时,为什么会打印以下内容?
- html - 如何将输入定位在它自己的div的左下角
- ansible - 用ansible发送mailconfig命令,回答问题
- javascript - 在 Ace 编辑器中嵌入语法
- c# - 如何解决 OrchardCore cms 中的启用功能问题?
- javascript - 如何将 Mongoose 中的日期转换为不同的格式
- php - 如何从 table1 的 ID 中提取数据并通过 PHP 将其放入 table2 的 FOREIGN KEY
- python - pyautogui keyboard.add_hotkey 仅用于映射具有单个键的热键
- python - 使用时间戳解析文件夹中的多个 csv 文件
- amazon-web-services - Elastic Beanstalk 将自定义日志输出到