Intereting Posts
Ошибка при создании файла APK в Android Studio 2.1.1 Обращение с логином и помните меня с помощью AccountManager Добавление пользовательских данных / атрибутов в кнопку на Android C2DM широковещательный приемник Как сделать RatingBar, чтобы показать пять звезд Корневой объект или нет? Какова наилучшая практика для ответов API? Отношение активности Android и службы – после паузы, после остановки Обмен фрагментами в одной активности? Каков контекст, переданный андроидом в onReceive () BroadcastReceiver Как получить вид в представлении ниже Viewpager в CoordinatorLayout Должен ли я использовать CollectionResponse в качестве возвращаемого типа в API конечных точек GAE или я могу использовать java-коллекции объектов? Исключение при использовании MapView – java.lang.RuntimeException: заглушка Пример: двунаправленный сетевой разъем Android с использованием AsyncTask Восстановить удаленный файл Xml из приложения в android Загрузка локального HTML-файла в WebView

Как определить, вернулась ли из детской активности?

Как я могу определить, было ли мероприятие сосредоточено после нажатия кнопки «Назад» из дочерней активности и как я могу выполнить какой-то код в это время?

Метод, который вы ищете, может быть методом onResume, который вы можете реализовать в своем классе мамы;). Вы должны знать, что onResume также называется первым, когда вы запускаете какую-либо деятельность. Посмотрите на жизненный цикл деятельности: http://developer.android.com/images/activity_lifecycle.png

С Уважением,

Одной из возможностей было бы начать свою startActivityForResult() деятельность с помощью startActivityForResult() и реализовать onActivityResult() который будет вызываться при возврате из дочерней активности.

Ответ js прав, но вот какой-то отлаженный код.

Объявите код запроса как константу в верхней части вашей деятельности:

 public static final int OPEN_NEW_ACTIVITY = 123456; 

Поместите это, когда вы начнете новую деятельность:

 Intent intent = new Intent(this, NewActivity.class); startActivityForResult(intent, OPEN_NEW_ACTIVITY); 

Сделайте что-нибудь, когда действие закончено. Документация предполагает, что вы используете resultCode , но в зависимости от ситуации ваш результат может быть RESULT_OK или RESULT_CANCELED при нажатии кнопки. Поэтому я оставил бы это.

 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == OPEN_NEW_ACTIVITY) { // Execute your code on back here // .... } } 

По какой-то причине у меня были проблемы, когда я помещал это в Фрагмент. Таким образом, вам придется поместить его в Activity.

Вы также можете переопределить метод onBackPressed () и метод onOptionsItemSelected () и поместить туда некоторую логику. Например, я помещал это в свой BaseActivity, который распространяется на все остальные действия:

 @Override public void onBackPressed() { // your logic super.onBackPressed(); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { // your logic } return super.onOptionsItemSelected(item); }