私が作成した音楽プレーヤーアプリがあります。音楽を再生しているときに、ホームボタンまたは戻るボタンを押してアプリを終了し、アプリを再度起動すると、アプリを終了した現在の状態に戻らず、曲のインデックスも移動しますデフォルト値の 1 に戻りますが、音楽はまだ再生されています。もう一度音楽を再生すると、現在再生している曲がまだ再生されています。したがって、2 つの曲が再生されます。アプリケーションの現在の状態を保存するにはどうすればよいですか?
質問する
183 次
3 に答える
0
onPause() で状態を保存し、onresume() でそれらを取得できます。
または、 onwindowFocusChanged() を使用できます。
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus)
//retrive state
else
//save state
}
于 2013-08-20T02:10:25.457 に答える
0
簡単な回答: アクティビティのライフ サイクルについて説明しているこのアクティビティページを読む必要があります。
長い答え: 何が起こっているのかというと、すべての変数が (おそらく onResume または onStart を介して) リロードされているため、状態が失われます。onSaveInstanceState(Bundle b)リンクを使用して、変数の状態を簡単に保存できます。
次に、onLoadInstanceState を使用して変数をリロードします。簡単です。
詳細については、この回答を参照してください。 https://stackoverflow.com/a/151940/137404
于 2013-08-20T02:14:29.673 に答える