Ich habe den Großteil des Spiels, das ich versuche zu machen, abgeschlossen und während des gesamten Projekts habe ich eine bestimmte Aktivität erstellt, die auch ein SurfaceView und einen Thread aufruft. Ich lege eine update() -Methode in jede der 3 Klassen, damit jeder weiß, wo die anderen sind, wenn sich etwas ändert. Anscheinend ist die einzige Möglichkeit, etwas wie dies zu tun, statische Methoden zu verwenden ... Das ist in Ordnung, bis eine Kollision in meiner SurfaceView auftritt und ich der Aktivität mitteilen möchte, was zu tun ist. Ich kann die Informationen weiterleiten, aber dann kann ich keinen Weg finden, einen AlertDialog zu erstellen.Erstellen von AlertDialog mit statischen Methoden?
Ich verstehe, ich kann ShowDialog() nicht von einer statischen Methode aufrufen, aber ich kann keinen Weg finden, eine nicht-statische Methode zu machen, um sie aufzurufen und dann diese Methode von einer statischen aufzurufen. Ich habe nach einer Antwort gesucht und ich habe etwas über das Instanziieren des Objekts gehört, aber ich kann nicht herausfinden, was das bedeutet ...
Wenn jemand eine gute Idee hat, mich um diese zu bringen, lass es mich wissen:)
Ich denke, daran zu erinnern, dass statischer Dialog entmutigt werden, weil sie zu einem Kontext verknüpft sind, die ganz ein Problem werden können, wenn die Aktivität ist zerstören (Bildschirmdrehung zum Beispiel.) – Sephy
Warum übergeben Sie den Kontext nicht an Ihre statische Methode? – Pentium10
Vielen Dank für Ihre Antworten. Sephy, ich habe viel gelesen, dass statische Methoden auf lange Sicht eine schlechte Idee sind, und ich habe das Problem so gut wie möglich vermieden, aber es scheint, dass ich keinen Weg finden kann. Ich weiß, dass ich eine Methode in der Aktivität von der SurfaceView aufrufen muss, die mich zwingt, eine statische Methode zu verwenden ... Richtig? Pentium10, tut mir leid, aber dies ist mein erstes Spiel überhaupt, ich verstehe irgendwie, was ein Kontext ist, aber ich bin mir nicht sicher, was du meinst, kannst du mich auf ein Beispiel oder irgendetwas hinweisen? Ich bin nicht so sehr damit beschäftigt, das Problem zu beheben, da ich verstehe, was falsch ist ... Vielen Dank! – Aaron