Intereting Posts
Как получить ответ 401 без обработки с помощью try / catch в android Как работает TranslateAnimation android? Сохранение обслуживания во время изменений ориентации Android: проблема с обновлением до Android SDK Tools, версия 7 Отключить перемещение в mapview Admob Не заполняется с сервера объявлений – не удалось загрузить объявление: 3 Панель инструментов и TabLayout не видны на устройствах Android 4.4 SearchView при проблемах с библиотекой support.v7.appcompat: по умолчанию 9-патч-фон не отображается правильно Gradle: FAILURE: не удалось определить, какие задачи выполнить Чтение PDF из приложения Android Как обрабатывать AsyncTask в ActionBarActivity Fragments при использовании ViewPager? Android Loader не запускает обратные вызовы на экране. Получить эскиз Uri / путь к изображению, сохраненный в SD-карте + Android Android: Как получить доступ к результатам от курсора при выполнении INNER JOIN? Android заменит текущий фрагмент другим фрагментом

Разница между onResume () и onResumeFragments ()

FragmentActivity.onResume() javadoc:

Отправка onResume () в фрагменты. Обратите внимание, что для лучшего взаимодействия со старыми версиями платформы, в момент этого вызова фрагменты, связанные с активностью, не возобновляются. Это означает, что в некоторых случаях предыдущее состояние может быть сохранено, а не разрешать операции фрагментации, которые изменяют состояние. Чтобы правильно взаимодействовать с фрагментами в правильном состоянии, вместо этого вы должны переопределить onResumeFragments ().

FragmentActivity.onResumeFragments() javadoc:

Это ориентированная на фрагмент версия onResume (), которую вы можете переопределить для выполнения операций в Activity в той же точке, где ее фрагменты возобновляются. Обязательно всегда звоните в суперкласс.

Означает ли это, что платформа гарантирует, что:

  • Фрагменты никогда не будут возобновлены (их onResume() не onResume() ) при выполнении FragmentActivity.onResume() и
  • Фрагменты всегда будут возобновлены (их onResume() ) при выполнении FragmentActivity.onResumeFragments() ?

Если нет, то как разработчик может правильно использовать и проявлять бдительность в отношении вышеизложенного?

Solutions Collecting From Web of "Разница между onResume () и onResumeFragments ()"

Вызывается ли onResume() ?

Да, FragmentActivity.onResume() все равно будет вызываться (тот же контекст, что и Activity.onResume() ). Даже если вы переопределите FragmentActivity.onResumeFragments() (дополнительный метод от FragmentActivity который знает, что он содержит Fragments ).

В чем разница между onResume() и onResumeFragments() ?

FragmentActivity.onResumeFragments() является обратным вызовом функции FragmentActivity в том случае, когда возобновляемые Fragments возобновляются , что не так, как при возобновлении действия .

Это ориентированная на фрагмент версия onResume (), которую вы можете переопределить для выполнения операций в Activity в той же точке, где ее фрагменты возобновляются. Обязательно всегда звоните в суперкласс.

Когда использовать какой метод?

Если вы используете библиотеку поддержки-v4 и FragmentActivity , старайтесь всегда использовать onResumeFragments() вместо onResume() в своих реализациях FragmentActivity .

Документация FragmentActivity # onResume () :

Чтобы правильно взаимодействовать с фрагментами в правильном состоянии, вместо этого вы должны переопределить onResumeFragments ().

Разница тонкая, см. https://github.com/xxv/android-lifecycle/issues/8 :

OnResume () следует использовать для обычных Activity и onResumeFragments () при использовании библиотеки совместимости v4. Это требуется только тогда, когда приложение ожидает завершения FragmentTransaction с помощью FragmentManager.