-1

主なアクティビティでレイアウトを読み込むことについて、非常に簡単な質問があります。私はその後、ボタンのクリックで、私が正しく表示され、別のビュー項目(ボタン)を追加Androidレイアウトを以前にプログラムで追加されたボタンで保存/ロードする

setContentView(R.layout.activity_main). 

を使用して)MainActivityのOnCreate関数(にロードされているactivity_main.xmlで定義されたシンプルなレイアウトを持っています。

しかし、アプリを閉じてもう一度開くと、前回アプリが終了したときに追加された内容を保持する必要があります。それ、どうやったら出来るの?

私はここでいくつかの質問を検索しましたが、そのほとんどはSharedPreferencesまたは保存状態を使用して値を保存することについて話しましたが、レイアウトを保存できるかどうかは不明です。

ありがとうございます。

+0

もう1つ...値を保存してボタンを再作成する必要があります – Selvin

答えて

0

私は、SharedPreferencesを使用して最新の状態値を保存することをお勧めします。これは、単純なデータを長期間保存するのに適しているためです。

saveInstanceStateを使用して状態を保存することは短期的な解決策であり、アプリケーションを完全に終了すると、保存されたインスタンスは永遠に失われます。

考えられる解決策:

まず、あなたはSharedPreferencesを使用して、これらを保存することができ、あなたが考えるほど、あなたはレイアウトを保存することはできませんが、variablesとして、レイアウトのparametersやその他の機能を得ることができます。

第2に、がアクティビティを開始したときに、保存されたレイアウト状態が存在するかどうかを確認する必要があります。存在する場合は、事前に保存したパラメータを使用してレイアウトを動的に/プログラムで追加することができます。

+0

回答ありがとうございます。線形レイアウト内の線形レイアウトのボタンを保存するには、テキスト、寸法、位置を保存する必要がありますボタンなどを押して、ロードします。この情報を保存できるアプリをユーザーが終了したときに呼び出されるメソッドはありますか? – Bill

+0

@Bill前にも触れましたが、これを行うためのショートカットはありません。上記の私のソリューションのように、手動で行う必要があります。 –

関連する問題