2017-07-05 1 views
-1

Ich habe eine Klasse, die 'Serializable' implementiert, aber ich kann den Kontext meiner Hauptaktivität nicht darin finden. Hier ist mein Code für diese Klasse:Den Kontext einer Aktivität in einer serialisierbaren Klasse abrufen

public class Game implements Serializable{ 
private String name; 
private ColorTheme theme; 
private int distance = 0; 
private int score = 0; 
boolean boom = false; 
protected Context context; 

public Game(MainActivity context){ 
this.context = context.getApplicationContext(); 
} 

Ich mag mein Spiel in diesem Zustand schließen, aber es gibt mir keine Möglichkeit, den Kontext zu beenden. Bitte hilf mir, wo ich falsch liege. Ich denke, der Kontext ist in dieser Serializable-Klasse nicht erfolgreich implementiert. Hilfe benötigt

+0

Sie können einen 'Context' nicht beenden. Sie können 'finish()' nur für eine 'Aktivität' aufrufen. Beachten Sie, dass Sie durch Aufruf von 'getApplicationContext()' einen Verweis auf die 'Application'-Klasse erhalten, die nicht Ihre Aktivitätsinstanz ist – 0xDEADC0DE

Antwort

1

Ich habe einen einfachen Weg, um die App zu verlassen. Versuchen Sie es wie

Intent intent = new Intent(context, MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.putExtra("Exit me", true); 
((Activity)context).startActivity(intent); 
((Activity)context).finish(); 

Hier MainActivity ist, hängt von Ihrer Projektanforderung. Sie können es nach Ihren Bedürfnissen ändern.

Verwandte Themen