¿Cómo detectar si regresó de la actividad infantil?
¿Cómo puedo detectar si una actividad se centró después de presionar el botón Atrás de una actividad infantil y cómo puedo ejecutar algún código en ese momento?
- Uso de onDestroy () en android
- Android: haz clic en el icono de la aplicación ActionBar, crea una nueva instancia de actividad
- ¿Cómo puedo iniciar la aplicación en la actividad principal?
- Necesito recuperar una instancia de una actividad
- Múltiples actividades, idénticas onCreateOptionsMenu, onOptionsItemSelected y onKeyDown. ¿Puedo reutilizar el código de alguna manera?
- Recuperación de valores de prefrences compartidos en otra actividad
- SavedInstanceState vs getIntent (). GetExtras ()
- Cómo mostrar una actividad ANTES de desinstalar mi aplicación (Android)
- Principiante: usando variables definidas en una clase en otra clase
- ¿Cómo funcionan los ciclos de vida de la actividad de Android en relación con la aplicación completa?
- ¿Cómo pasar la referencia (no serializable) de una actividad a otra?
- Cómo llamar a un método en otra Actividad de la Actividad
- ¿Cuál es la diferencia entre la llamada de actividad explícita e implícita en android?
El método que estás buscando puede ser el método onResume que puedes implementar en tu clase madre;). Debe saber que el onResume también se llama la primera vez que inicia cualquier actividad. Mira el ciclo de vida de una actividad: http://developer.android.com/images/activity_lifecycle.png
Saludos,
Una posibilidad sería iniciar la actividad de su hijo con startActivityForResult()
e implementar onActivityResult()
que se llamará cuando regrese de la actividad secundaria.
La respuesta de js es correcta, pero aquí hay algún código depurado.
Declare el código de solicitud como una constante en la parte superior de su actividad:
public static final int OPEN_NEW_ACTIVITY = 123456;
Ponga esto donde usted comienza la nueva actividad:
Intent intent = new Intent(this, NewActivity.class); startActivityForResult(intent, OPEN_NEW_ACTIVITY);
Haga algo cuando la actividad haya terminado. La documentación sugiere que use resultCode
, pero dependiendo de la situación, su resultado puede ser RESULT_OK
o RESULT_CANCELED
cuando se presiona el botón. Así que lo dejaría fuera.
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == OPEN_NEW_ACTIVITY) { // Execute your code on back here // .... } }
Por alguna razón, tuve problemas al poner esto en un Fragmento. Así que tendrás que ponerlo en la Actividad.
También puede anular tanto el método onBackPressed () como el método onOptionsItemSelected () y poner allí alguna lógica. Por ejemplo puse esto en mi BaseActivity que todas las otras actividades se extiende de:
@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); }
- Dibujo de formas en Android MapView independientemente del nivel de zoom
- ¿El desarrollo de la interfaz de usuario de Android se presta bien a un patrón de diseño participativo?