私はこれについての助けを探していて、実際にそれを説明するものは何も見つかりませんでした。私はAndroidプログラミングにはかなり新しく、私は最初のアプリ、カードゲームのスコアキーパーに取り組んでいます。別のアクティビティを開くときに、特定のアクティビティの現在のレイアウトを保存するにはどうすればよいですか?
MainActivity
には、ImageButton
があります。これを押すと、プレイヤーの数とプレーヤーの名前を入力するように求められます。これが完了すると、プログラムはTableLayout
をプログラムで埋め込み、スコアを保持するTextView
のグリッドを付けます。それはと関連するTextView
を消して、TableLayout
を見えるようにします。しかし、ユーザーがメニュー内の2つのアクティビティのいずれかに移動し、上矢印をクリックしてMainActivity
(私は両方のアクティビティでgetSupportActionBar().setDisplayHomeAsUpEnabled(true);
と呼ばれます)をクリックすると、MainActivity
は元のレイアウトに戻りますアプリ)。ただし、ユーザーがデバイスの[戻る]ボタンを使用してMainActivity
に戻ると、そうではありません。
onSaveInstanceState()
とonRestoreInstanceState()
は、システムがアクティビティを破棄した場合にのみ呼び出されるため、私はそれに頼ることができないことを知っています(少なくとも私の理解です。私が集めたものから、現在のレイアウトを保存してリロードするには、onPause()
とonResume()
でそれを行う必要がありますが、私は効果的にBundle
を使うことができないので、これを行う良い方法はわかりません。これについては良い方法がありますか?
既存のレイアウトを変更するだけでなく、新しいアクティビティを作成することを検討する必要があります。 –
https://developer.android.com/training/basics/activity-lifecycle/index.html – Luis
@ Code-Apprentice私はそれを調べます。それは賢明でしょう。私が言及したように、私はAndroidの開発にかなり新しいので、私は私の知識を向上させるものに開放されています。 –