J'ai terminé la partie du jeu que j'essaie de réaliser et, au cours du projet, j'ai créé une activité particulière qui appelle aussi SurfaceView et Thread. J'ai mis une méthode update() dans chacune des 3 classes pour qu'elles sachent où se trouvent les autres à chaque fois que quelque chose change. Apparemment, la seule façon de faire quelque chose comme ça est d'utiliser des méthodes statiques ... C'est bien jusqu'à ce qu'une collision se produise dans mon SurfaceView et je veux dire à l'activité ce qu'il faut faire. Je peux relayer l'information, mais ensuite je ne peux pas trouver un moyen de faire un AlertDialog. Je comprends que je ne peux pas appeler showDialog() à partir d'une méthode statique, mais je n'arrive pas à trouver une méthode pour l'appeler avec une méthode non statique, puis appeler cette méthode à partir d'une méthode statique. Je cherchais une réponse et j'ai entendu quelque chose à propos de l'instanciation de l'objet mais je n'arrive pas à comprendre ce que cela signifie ...Création d'AlertDialog avec des méthodes statiques?
Si quelqu'un a une bonne idée pour me faire faire ça, s'il vous plaît faites le moi savoir:)
Je pense à retenir cette boîte de dialogue statique sont découragés parce qu'ils sont liés à un contexte, qui peut devenir tout à fait un problème lorsque l'activité est destroy (rotation d'écran par exemple) – Sephy
Pourquoi ne transmettez-vous pas le contexte à votre méthode statique? – Pentium10
Merci à vous deux pour vos réponses. Sephy, j'ai lu beaucoup que les méthodes statiques sont une mauvaise idée à long terme, et j'ai évité le problème autant que j'ai pu, mais il semble que je ne peux pas trouver un moyen de contourner celui-ci. Je sais que je dois appeler une méthode dans l'Activity depuis SurfaceView, ce qui me force à utiliser une méthode statique ... Pas vrai? Pentium10, je suis désolé mais c'est mon premier jeu, je comprends un peu le contexte mais je ne sais pas trop ce que vous voulez dire, pouvez-vous me montrer un exemple ou quoi que ce soit? Je ne suis pas si préoccupé par la résolution du problème que je comprends ce qui ne va pas ... Merci beaucoup! – Aaron