Подтвердить что ты не робот

Как использовать onResume()?

Кто-нибудь может дать мне пример, который использует onResume() в Android?

Кроме того, если я хочу перезапустить действие в конце выполнения другого, какой метод выполняется - onCreate() или onResume()?

И если я хочу обновить данные, как мне поместить их в onResume()?

4b9b3361

Ответ 1

Любая активность, которая перезапускается, имеет метод onResume(), выполняемый первым.

Чтобы использовать этот метод, сделайте это:

@Override
public void onResume(){
    super.onResume();
    // put your code here...

}

Ответ 2

Перезапуск приложения вызовет OnCreate().

Продолжение приложения после его приостановки вызовет OnResume(). Из официальных документов на https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle приведена схема жизненного цикла активности.

the Android activity lifecycle, from https://developer.android.com/images/activity_lifecycle.png on https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Ответ 3

Лучший способ понять - использовать все методы LifeCycle, переопределенные в вашей деятельности, и разместить точку останова (при проверке эмулятора) или войти в каждый из них. Вы узнаете, куда звонить.

Так же, как спойлер, сначала вызывается onCreate(), а затем, если вы приостановили действие, либо перейдя на главный экран, либо запустив другое действие, вызывается onPause(). Если ОС уничтожает действие, тем временем вызывается onDestroy(). Если вы возобновите приложение, и приложение уже было уничтожено, вызов будет вызван onCreate(), иначе будет вызван onResume().

Изменить: я забыл о onStop(), он вызывается до onDestroy().

Сделайте упражнение, о котором я говорил, и вы будете лучше понимать.

Ответ 4

В большинстве предыдущих ответов хорошая работа, объясняющая, как, почему и когда использовать onResume(), но я хотел бы добавить что-то о повторном создании Activity.

Я хочу знать, хочу ли я перезапустить активность в конце exectuion другого, какой метод выполняется вCreate() или onResume()

Ответ onCreate() Однако при принятии решения о его повторном создании вы должны спросить себя, какая часть Activity должна быть восстановлена. Если это данные в адаптере, скажем, для списка, вы можете вызвать notifyDataChanged() на adapter, чтобы повторно заполнить adapter и не нужно перерисовывать все.

Кроме того, если вам просто нужно обновить определенные views, но не все, то может быть более эффективным вызвать invalidate() на view (s), которые необходимо обновить. Это приведет только к изменению этих views и, возможно, позволит вашему приложению работать более плавно. Я надеюсь это тебе поможет.

Ответ 5

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

Вы задаете вопрос, какой метод используется для перезапуска активности. onCreate() вызывается, когда действие сначала создается. На практике большинство действий сохраняются в фоновом режиме с помощью серии вызовов onPause() и onResume(). Активность только "перезапущена" на onRestart(), если она полностью полностью остановлена, вызвав onStop(), а затем вернулась к жизни. Таким образом, если вы на самом деле не останавливаете действия с помощью onStop(), вы, скорее всего, будете использовать onResume().

Прочитайте документ android в приведенной выше ссылке, чтобы лучше понять взаимосвязь между различными способами образа жизни. Независимо от того, какой метод жизненного цикла вы в конечном итоге используете в общем формате, тот же. Вы должны переопределить стандартный метод и включить свой код, т.е. То, что вы хотите, чтобы деятельность выполняла в этой точке, в разделе комментариев.

@Override
public void onResume(){
 //will be executed onResume
}