2012-10-13 6 views
2

J'essaie d'écrire ma première application Android.Partager les variables entre les classes et les activités

Je veux implémenter le balayage, donc j'ai ajouté du code pour cela.

Une partie de ce code est dans la méthode OnCreate et une partie est dans sa propre classe. Dans les deux je dois référencer l'ID viewflippers. Après quelques lectures, j'ai créé une classe qui étend la classe d'application. J'ai mis mes variables dedans.

Dans la classe d'activité que je peux faire référence avec:

GlobalVars vars = ((GlobalVars) getApplicationContext());

Je peux alors faire référence à mon viewflipper avec:

ViewFlipper viewFlipper = vars.viewFlipper;

Maintenant, je veux faire la même chose avec la classe Gesture pour le faire glisser, mais il erreur sur:

GlobalVars vars = ((GlobalVars) getApplicationContext());

Il dit: « La méthode getApplicationContext() est définie pour le type MyGestureDetector »

Alors, comment puis-je faire référence à ces variables globales dans une autre classe qui ne sont pas l'activité?

+0

Veuillez publier un [SSCCE] (http://wwwscce.com) pour illustrer ce que vous essayez de faire. En particulier, il doit être autonome pour que toute personne intéressée à vous aider puisse copier et coller votre code pour le compiler et l'exécuter pour lui-même. –

+0

Probablement pas la solution idéale, mais que diriez-vous de rendre les variables statiques? Ensuite, vous pouvez y accéder avec '* YourClassName *. * VariableName *' – Plasma

Répondre

0

Si vous souhaitez utiliser votre objet d'application GlobalVars avec un objet qui n'est pas une activité (et par conséquent n'a pas getApplicationContext()), vous devrez le fournir au détecteur MyGestureDetector via un constructeur ou un setter.

Questions connexes