Мне нужно воссоздать фрагмент, когда пользователь нажимает на переключатель. Я использую эту функцию:
public void refreshFragment(){
FragmentTransaction ft = getFragmentManager().beginTransaction();
if (Build.VERSION.SDK_INT >= 26) {
ft.setReorderingAllowed(false);
}
ft.detach(this).attach(this).commit();
}
Работает нормально, но при вызове onCreate не вызывается, это последовательность методов, вызываемых после воссоздания:
onCreateView()
onViewCreated()
onResume()
И это последовательность методов, вызываемых при первом ее создании:
onCreate()
onCreateView()
onViewCreated()
onResume()
По-видимому, onCreate больше никогда не вызывается при обновлении фрагмента с помощью этой функции. Это будет как всегда? Или в каких-то обстоятельствах может измениться? Я спрашиваю об этом, потому что для меня идеально, что onCreate get только вызывается в первый раз, потому что тогда я могу поместить туда код, который я хочу выполнить только один раз, а не при обновлении. Но мне нужно знать, безопасно ли это или onCreate может вызываться при обновлении.
Спасибо