0

У меня есть два задания А и Б.андроид панель навигации назад не работает, как ожидалось

У меня есть MapView внутри фрагмента в активности А и на кнопку мыши, активность B запускается. Lifecyle выглядит следующим образом:

onPause() in fragment inside A 
onPause() in activity A 

onStop() in fragment inside A 
onStop() in activity A 

При нажатии на заднюю физическую кнопку на устройстве от активности B, он возвращается к активности А и поток идет как это.

onStart() in activity A 
onStart() in fragment inside A 

onResume() in activity A 
onResume() in fragment inside A 

Теперь у меня есть набор, как ActionBar использования setSupportActionBar(mToolbar) в ActivityB пользовательской панели инструментов. Я также установил 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 

И из-за этого, отображение в деятельности Фрагмент становится перезагружается снова.

Любой может ли мы предотвратить разрушение фрагмента на обратной навигации?

Заранее спасибо

+0

это очень запутанно, чтобы следовать ... вы должны попытаться прояснить поток –

ответ

0

Вы пробовали, начиная деятельность А с использованием SingleTop launchMode? Я столкнулся с той же проблемой и указав, что этот запускMode для вызывающей активности решил мою проблему.

<activity 
    android:name="A" 
    android:label="..." 
    android:launchMode="singleTop" /> 
Смежные вопросы