0

私が作成した音楽プレーヤーアプリがあります。音楽を再生しているときに、ホームボタンまたは戻るボタンを押してアプリを終了し、アプリを再度起動すると、アプリを終了した現在の状態に戻らず、曲のインデックスも移動しますデフォルト値の 1 に戻りますが、音楽はまだ再生されています。もう一度音楽を再生すると、現在再生している曲がまだ再生されています。したがって、2 つの曲が再生されます。アプリケーションの現在の状態を保存するにはどうすればよいですか?

4

3 に答える 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 に答える