2016-09-20 6 views
0

私はこれについての助けを探していて、実際にそれを説明するものは何も見つかりませんでした。私はAndroidプログラミングにはかなり新しく、私は最初のアプリ、カードゲームのスコアキーパーに取り組んでいます。別のアクティビティを開くときに、特定のアクティビティの現在のレイアウトを保存するにはどうすればよいですか?

MainActivityには、ImageButtonがあります。これを押すと、プレイヤーの数とプレーヤーの名前を入力するように求められます。これが完了すると、プログラムはTableLayoutをプログラムで埋め込み、スコアを保持するTextViewのグリッドを付けます。それはと関連するTextViewを消して、TableLayoutを見えるようにします。しかし、ユーザーがメニュー内の2つのアクティビティのいずれかに移動し、上矢印をクリックしてMainActivity(私は両方のアクティビティでgetSupportActionBar().setDisplayHomeAsUpEnabled(true);と呼ばれます)をクリックすると、MainActivityは元のレイアウトに戻りますアプリ)。ただし、ユーザーがデバイスの[戻る]ボタンを使用してMainActivityに戻ると、そうではありません。

onSaveInstanceState()onRestoreInstanceState()は、システムがアクティビティを破棄した場合にのみ呼び出されるため、私はそれに頼ることができないことを知っています(少なくとも私の理解です。私が集めたものから、現在のレイアウトを保存してリロードするには、onPause()onResume()でそれを行う必要がありますが、私は効果的にBundleを使うことができないので、これを行う良い方法はわかりません。これについては良い方法がありますか?

+0

既存のレイアウトを変更するだけでなく、新しいアクティビティを作成することを検討する必要があります。 –

+0

https://developer.android.com/training/basics/activity-lifecycle/index.html – Luis

+0

@ Code-Apprentice私はそれを調べます。それは賢明でしょう。私が言及したように、私はAndroidの開発にかなり新しいので、私は私の知識を向上させるものに開放されています。 –

答えて

0

を追加し、画面を変更する2つの標準的な方法があります:

  1. は、各画面のアクティビティを作成し、画面を切り替えますインテントを含む正しいアクティビティを選択することによって実行されます。

  2. 各画面にフラグメントを作成し、FragmentManagerを使用して画面を切り替えます。

Android Developer Documentationには、これらの両方に関するチュートリアルがあります。また、Androidアプリの制作について知っておくべきすべての情報を提供しています。あなたは間違いなくそれに慣れるべきです。

0

代わりにfragmentを使用してください。あなたが別のものを開こうとすると、単に現在の断片やショーを非表示/ Androidのプログラミングでは、別の断片

関連する問題