我有两个活动A和B.
我在活动A的片段内有一个mapview,按钮点击,活动B启动。生命周期如下:
onPause() in fragment inside A
onPause() in activity A
onStop() in fragment inside A
onStop() in activity A
当我从活动B按下设备上的物理后退按钮时,它返回到活动A,流程就像这样。
onStart() in activity A
onStart() in fragment inside A
onResume() in activity A
onResume() in fragment inside A
现在,我在ActivityB中使用setSupportActionBar(mToolbar)
将自定义工具栏设置为操作栏。我还为后退导航设置getSupportActionBar().setDisplayHomeAsUpEnabled(true);
,它显示左箭头。
问题是,单击向左箭头,活动A将再次重新创建。
生命周期如下:
onDestory() in fragment(in Activity A)
onCreate() in activity A
onCreate() in fragment
onCreateView() in fragment
onStart() in activity A
onStart() in fragment
onResume() in activity A
onResume() in fragment
正因为如此,活动A片段中的地图再次重新加载。
我们可以阻止片段在后退导航中被破坏吗?
提前致谢
答案 0 :(得分:0)
您是否尝试使用 singleTop launchMode启动活动A?我遇到了同样的问题,并为调用活动指定了这个launchMode解决了我的问题。
<activity
android:name="A"
android:label="..."
android:launchMode="singleTop" />