Pregunta

Actualmente, estoy usando esto en todas mis actividades:

@Override
public void onRestart(){
    onStart();
    onResume();
    runFadeInAnimation();
}

"Funciona", pero no tengo ni idea de si esto me va a arruinar en el futuro.No estoy seguro de si funciona por casualidad o si así es como debe hacerse.Intenté ejecutarlo a través de:

@Override
public void onRestart(){
    super.onRestart();
    runFadeInAnimation();
}

Pero no puedo, porque todas mis actividades extienden mi actividad principal y si ejecuto super, intenta llamar a mis actividades principales onRestart (), que se bloqueará.(También quiero que mi main se desvanezca, así que también estoy ejecutando una animación allí)

¿Cómo puedo manejar esto con elegancia y sin causar un error sin saberlo?

¿Fue útil?

Solución

Eche un vistazo al ciclo de vida de la actividad aquí: http://developer.android.com / reference / android / app / Activity.html

Lo que estás haciendo es en realidad redundante con lo que se supone que ocurre automáticamente al reiniciar una actividad.

Parece que tiene algunos posibles problemas de diseño con respecto a cómo ha definido su actividad principal y cómo la está ampliando.Si pudiera hacer una sugerencia, diría que si tiene cosas en una actividad que serán comunes entre TODAS sus actividades, ponga esas cosas en una actividad "para padres" que pueda ampliar.La forma en que tiene su actividad "principal" definida ahora parece tener detalles que no se prestan a otras actividades.Entonces, una vez que configure su clase de actividad "principal", extiéndala para crear la actividad "principal" y coloque la lógica de "aparición gradual" allí.

En última instancia, debería poder llamar a super.onRestart sin ningún resultado perjudicial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top