2

プログラムで RelativeLayout を作成し、その中に他のビューをいくつか追加し、XML で定義されている親に追加します。ただし、プログラムで作成されたすべてのビュー (レイアウトを含む) は、アクティビティが再作成されると消えます。値を保存してからレイアウトを再作成するには、SharedPreferences オブジェクトが必要ですか、それとも簡単に保存する方法はありますか?

PS すべての新しく作成されたビューには ID が割り当てられます

4

2 に答える 2

3

私はあなたが調べることをお勧めしますActivity.onSaveInstanceState(Bundle)

デフォルトの実装では、IDを持つ階層内の各ビューでonSaveInstanceState()を呼び出し、現在フォーカスされているビューのIDを保存することでUIのインスタンスごとの状態のほとんどを処理します(これらはすべて、 onRestoreInstanceState()のデフォルトの実装)。このメソッドをオーバーライドして、個々のビューでキャプチャされない追加情報を保存する場合は、デフォルトの実装[via and ]を呼び出してください。そうでない場合は、各ビューのすべての状態を自分で保存する準備をしてください。super.onSaveInstanceState()super.onRestoreInstanceState()

https://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

ここでの私の答えと同様に:

プログラムでビューにIDを割り当てるにはどうすればよいですか?

于 2012-12-25T20:38:05.527 に答える