按下后退按钮时,android不会丢失Fragment

时间:2019-12-18 17:56:06

标签: android-fragments onbackpressed data-loss

用户创建一些片段并将其添加到由标签标识的活动中。我注意到按返回按钮后,片段被破坏了。按下后退按钮时如何不丢失所有碎片?这样我就可以导航而无需始终创建片段。我要求一种适当的方法来执行此操作,实际上,到目前为止,我的想法是重写onBackPressed()并将Fragment保存在Fragments的List全局变量中,然后销毁它。

2 个答案:

答案 0 :(得分:0)

您可以在onBackPressed()函数中尝试此操作。

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

答案 1 :(得分:0)

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

按下返回按钮,FragmentTranscation将导航到先前的片段。