0

メッセージごとに複数のビューを持つRelativeLayoutが作成されるシンプルなチャットアプリがあります。アクティビティを停止または破棄すると、追加したすべてのレイアウトが親から消えるため、すべてのメッセージが消えます。

確かに、各単一ビューのIDを(他の値とともに)SharedPreferencesオブジェクトまたはデータベースに入れて、アクティビティが再作成された後にすべてのメッセージを復元することはできますが、動的に作成されたレイアウトを保存する簡単な方法があります。 ?親はXMLで定義されています。

4

2 に答える 2

2

Activity(または)が非表示になると、FragmentそのView階層が破壊され、それを克服することはできません。実際、あなたも必要ありません。解決策は、メッセージをデータベース内に保存し、データベースの内容に基づいて起動時にView階層を再作成することです。Activityここで車輪の再発明をする必要はありません。お役に立てれば。

于 2013-01-11T15:04:26.557 に答える
0

メッセージのコレクションをOnSaveInstanceState()のバンドルsavedInstanceStateに入れ、そこからonCreate()に復元します。

于 2013-01-11T15:15:17.433 に答える