2017-07-05 10 views
-1

私は 'Serializable'を実装するクラスを持っていますが、私はそこに私の主なアクティビティのコンテキストを取得できません。ここでは、このクラスのための私のコードは次のとおりです。シリアライズ可能なクラスのアクティビティのコンテキストを取得

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(); 
} 

私はこの条件内で私のゲームを閉鎖したいが、それは私にコンテキストを終了する任意のオプションを与えていません。私が間違っているところで私を助けてください。私は、このSerializableクラスでコンテキストがうまく実装されていないと思います。必要なヘルプ

+0

「コンテキスト」を終了することはできません。 'Activity'に対してのみ' finish() 'を呼び出すことができます。 'getApplicationContext()'を呼び出すと、あなたのアクティビティのインスタンスではない 'Application'クラスへの参照が得られます – 0xDEADC0DE

答えて

1

私はアプリを終了する簡単な方法があります。試してみてください

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(); 

ここで、MainActivityはプロジェクトの要件によって異なります。必要に応じて変更することができます。

関連する問題