2013-01-11 2 views
0

각 메시지마다 여러보기가있는 RelativeLayout이 만들어지는 간단한 채팅 앱이 있습니다. 활동이 중지되거나 삭제 된 후에는 모든 추가 된 레이아웃이 부모로부터 사라 지므로 모든 메시지가 사라집니다.많은 레이아웃의 안드로이드 저장 상태

확실히 각 개별보기의 ID (다른 값과 함께)를 SharedPreferences 개체 또는 데이터베이스에 넣을 수 있습니다. 활동이 다시 생성 된 후에 모든 메시지를 복원 할 수 있지만 동적으로 저장하는 더 간단한 방법이 있습니다. 만든 레이아웃 ..? 부모는 XML로 정의됩니다.

답변

2

Activity (또는 Fragment)이 보이지 않게 될 때 - 그 View 계층 구조가 파괴되고 그것을 극복 할 수 없습니다. 사실, 당신도 필요하지 않습니다. 해결 방법은 데이터베이스에 메시지를 저장하고 데이터베이스 내용에 따라 Activity 시작시 계층을 View으로 다시 작성하는 것입니다. 휠을 재발견 할 필요가 없습니다. 희망이 도움이됩니다.

0

메시지 모음을 OnSaveInstanceState()의 Bundle savedInstanceState에두고 onCaveate()에서 해당 메시지를 복원하십시오.

+0

뷰 객체를 번들에 넣을 수 없기 때문에 모든 값을 저장하고이 값에서 뷰를 다시 만들어야합니다. – Droidman

+0

뷰 객체를 저장하지 않아도됩니다. 보기가 다시 생성되지만 다시 표시 할 데이터를 가져 오거나 생성하지 않도록 앱을 저장합니다. –

관련 문제