【问题标题】:android don't lose Fragment when back button is pressed按下后退按钮时android不会丢失片段
【发布时间】:2019-12-18 17:56:06
【问题描述】:

用户创建一些 Fragments 并将其添加到由标签标识的 Activity 中。我注意到在按下后退按钮时,片段被破坏了。按下后退按钮时如何不丢失所有碎片?这样我就可以在不重新创建片段的情况下导航。我正在寻求一种正确的方法来做到这一点,实际上我现在的想法是覆盖 onBackPressed() 并将 Fragment 保存在 Fragments 的 List 全局变量中,然后再销毁它。

【问题讨论】:

    标签: android-fragments onbackpressed data-loss


    【解决方案1】:

    在创建片段而不是 FragmentTranscation.replace 时,使用 FragmentTranscation.addTobackStack() 将片段添加到 backstack 并且在 BackPressed 上不执行任何操作。

    按下后退按钮时,FragmentTranscation 将负责导航到之前的片段。

    【讨论】:

      【解决方案2】:

      你可以在 onBackPressed() 函数中试试这个。

      if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
          getSupportFragmentManager().popBackStack();
      } else {
          super.onBackPressed();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-09
        • 1970-01-01
        • 2017-06-13
        相关资源
        最近更新 更多