2012-03-14 7 views
0

J'ai cette classe: public class HeaderView extends RelativeLayout implements OnClickListener, ProgressBarListenerAndroid - Classe étendue RelativeLayout (onResume)

Dans chaque activité, ce HeaderView est montré comme je l'ai mis dans la mise en page XML. Maintenant, la chose est que je veux être en mesure d'implémenter onResume dans mon HeaderView. Lorsque je lance une activité, onCreate est appelée et HeaderView dessine les choses dont j'ai besoin en haut, mais si j'appuie de nouveau, mon activité appellera onResume et mon HeaderView ne sera pas recréé et les anciennes valeurs seront toujours là. Comment puis-je implémenter onResume dans mon HeaderView ou quelque chose de similaire afin de recréer HeaderView !?

Merci d'avance!

Répondre

1

Vous ne pouvez pas appeler onResume dans la classe HeaderView car c'est la méthode de rappel de la classe Activity et les classes qui étendent la classe Activity.
Ainsi, dans le onResume de votre classe Activity, appelez une méthode de la classe HeaderView quelque chose comme refreshView(), puis votre vue peut être actualisée.

Section mise à jour:

Vous pouvez créer une classe BaseScreen qui étend Activity et implémenter cette chose dans onResume.
Etendez maintenant cette classe dans toutes vos activités au lieu de la classe Activity.
Cela fera exécuter refreshView() chaque fois que onResume est appelé et vous n'avez plus besoin de le définir dans chaque classe d'activité de votre code.

+0

J'ai besoin de faire cela alors dans chaque activité, existe-t-il un moyen général d'implémenter cette refreshView() dans toutes les activités sans appeler refreshview(); dans chaque onResume. Peut-être dans un fichier XML !? – Carnal

+0

Mate .. ce refreshView ne fonctionne que lorsque je crée une activité, pas lors de la reprise (sur la presse arrière). Ce sont deux photos que je veux changer! Une idée pourquoi? refreshView est une méthode statique. – Carnal