2

Мое приложение имеет одно действие, которое использует вкладку TabLayout и 1 фрагмент для содержимого каждой вкладки. Некоторые из этих фрагментов имеют суб-вкладки внутри и соответствующие суб-фрагменты.Приложение, управляемое API. Вложенные фрагменты - где делать вызовы API? onStart v/s onCreateView on onResume

Каждый из этих фрагментов полагается на вызовы API для отображения их представлений. Я хочу, чтобы эти фрагменты вызывали эти вызовы API только один раз и отображали их представления. Если пользователь переключится на другую вкладку и вернется, эти фрагменты должны просто показать представление, которое они уже отображали в первый раз (есть некоторые особые условия, которые вызывают новый вызов API, но они редки и могут обрабатываться в onResume Я думаю).

Чтобы достичь этого, какое лучшее место для совершения первых вызовов API? onCreateView? или onStart или onResume или какой-либо другой метод жизненного цикла?

ответ

1

onCreateView(), потому что если вы меняете какой-либо элемент пользовательского интерфейса, это будет первый раз, когда макет будет завышен, в документах android, которые они рекомендуют делать здесь все, потому что onStart вызывается непосредственно перед тем, как пользователь увидит Мероприятия.

http://developer.android.com/guide/components/activities.html

Я также рекомендовал бы освежить вид с апи называют каждый раз onResume называется, просто чтобы убедиться, что пользователь видит самую последнюю информацию, поскольку деятельность может висеть в течение очень долгого времени теперь с более современными версиями Android. Кроме того, если вызывается функция restart(), oncreateview не будет, так что это еще одна причина, по которой я рекомендую обновлять с помощью onResume().