Question

Actuellement, j'utilise cela dans toutes mes activités:

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

Cela "fonctionne" mais je ne sais pas si cela va me visser à l'avenir. Je ne sais pas si cela fonctionne par Fluke ou si c'est ainsi que cela doit être fait. J'ai essayé de l'exécuter via:

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

Mais je ne peux pas ... parce que toutes mes activités étendent mon activité principale et si je dirige par Super, il essaie d'appeler mes principales activités OnRestart () qui se bloqueront. (Je veux aussi que mon principal s'estompe, donc je lance une animation là-bas aussi)

Comment puis-je gérer cela gracieusement et pas sans le savoir, provoquer un bug?

Était-ce utile?

La solution

Jetez un œil à l'activité LifeCyle ici: http://developer.android.com/reference/android/app/activity.html

Ce que vous faites est en fait redondant avec ce qui est censé se produire automatiquement sur un redémarrage d'activité.

Il semble que vous ayez des problèmes de conception possibles avec la façon dont vous avez défini votre activité principale et comment vous l'étendez. Si je pouvais faire des suggestions, je dirais que si vous avez des choses dans une activité qui sera courante parmi toutes vos activités, mettez ces choses dans une activité "parent" que vous pouvez étendre. La façon dont vous avez votre activité «principale» définie maintenant semble avoir des détails qui ne se prêtent pas à d'autres activités. Ainsi, une fois que vous avez configuré votre classe d'activité "parent", étendez-la pour créer l'activité "principale" et mettez la logique "fondu".

En fin de compte, vous devriez être en mesure d'appeler Super.onRestart sans aucun résultat préjudiciable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top