2010-12-13 4 views
1

私はonResume()でいくつかのコードを実行する必要がありますが、それはonPause()に続いて呼び出され、Start()では続きではありません。Androidの前の状態を取得しますか?

onStop()の後にonResume()が呼び出された場合、別のコードを実行する必要があります。

これを正しくチェックするにはどうすればよいですか?

答えて

1

Hereはライフサイクルです。私はあなたの好みにフラグを保存し、onResume中にそれを確認することができると思います。

onStart() { 
    saveFlagToPreferences(false); 
} 

onResume() { 
    boolean doStuff = getFlagFromPrefs(); 
    if (doStuff) { 
     //do some stuff following onPause 
    } else { 
     //do some stuff following onStop 
    } 
} 

onPause() { 
    saveFlagToPreferences(true); 
} 

onStop() { 
    saveFlagToPreferences(false); 
} 

あなたがのようなものを使用することができます好みロードするには:

SharedPreferences settings = getSharedPreferences("MyAppName",0); 
settings.getBoolean("flag", true); 

をし、それらを保存するために:ここではいくつかの擬似コードだ

SharedPreferences settings = getSharedPreferences("MyAppName",0); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putBoolean("flag",true); 
editor.commit(); 
+0

おかげで、私はこの明日実装しますと、私がどのように乗っているか教えてください。 – Hamid

+0

私はこのようにやりませんでした。実際にはグローバル変数を使用していました。私のonpauseはブール値を設定しました。この場合、起動時にはfalseになり、onpauseがまだ呼び出されていなければ再開します。私はどちらが良い解決策と考えられるのか分かりませんが、私はうまく働きます。 – Hamid

関連する問題