1

У меня есть mainActivity, в которой размещается ViewPager и содержит три вкладки (MQTT, ECO, Logger). mainActivity имеет обратные вызовы lifecycles (onCreat, onResume), а остальные три вкладки имеют обратный вызов Fragment ' lifeCycle (onattached, onCreateView, onViewcreated, onResume, onPause).путаница относительно жизни фрагментовCycle

во время выполнения, я получаю в LogCat следующее:

01-29 13:28:28.732: W/MainActivity(31412): @onCreate(). 
01-29 13:28:28.802: W/MainActivity(31412): @onResume(). 
01-29 13:28:28.842: W/MQTT_Settings_Frag(31412): @onAttach(). 
01-29 13:28:28.842: W/MQTT_Settings_Frag(31412): @onCreateView(). 
01-29 13:28:28.862: W/MQTT_Settings_Frag(31412): @onViewCreated(). 
01-29 13:28:28.862: W/MQTT_Settings_Frag(31412): @onResume(). 
01-29 13:28:28.862: W/Eco_Settings_Frag(31412): @onAttach(). 
01-29 13:28:28.862: W/Eco_Settings_Frag(31412): @onCreateView(). 
01-29 13:28:28.892: W/Eco_Settings_Frag(31412): @onViewCreated(). 
01-29 13:28:28.892: W/Eco_Settings_Frag(31412): @onResume(). 

и когда я красть, чтобы перейти на язычок Eco «второй», logCa не сообщает ничего примыкают фрагменты, но когда я красть на третьей вкладке "Logger" -Какой уже был реализованы yet- LogCat дисплеи:

01-29 13:37:27.062: W/MQTT_Settings_Frag(31412): @onPause(). 

и когда я красть назад от Logger-вкладки в Eco-Tab, LogCat dispays следующее:

01-29 13:37:52.292: W/MQTT_Settings_Frag(31412): @onCreateView(). 
01-29 13:37:52.322: W/MQTT_Settings_Frag(31412): @onViewCreated(). 
01-29 13:37:52.322: W/MQTT_Settings_Frag(31412): @onResume(). 


why the first tab "MQTT-Tab" goes in onPause() when i goto only to the third Tab Logger-Tab? 
And why the first tab "MQTT-Tab" goes into (onCreateView, onViewCreated, onResume) when i move to the secondtab Eco-tab frm the third one LoggerTab? 

ответ

2

ViewPager по умолчанию сохраняет соседние вкладки в памяти, поэтому ваша первая вкладка разрушается, когда вы переходите на третью вкладку и воссоздаете ее, когда возвращаетесь в середину. Вы можете изменить это поведение, используя yourViewPager.setOffscreenPageLimit(int).

+0

Соседние вкладки означают три закладки, которые я размещал у viewpager? – user2121

+0

Под соседним я имею в виду выбранный/видимый в настоящее время и тот, который был до и после. В этих случаях всегда учитывается текущее мнение. –

Смежные вопросы