2012-04-19 2 views
0

요청시 TabActivity에보기 (활동 제외)를 추가합니다 (onCreate가 완료된 후 활동에 0 개 이상의 탭이 있음을 의미). 시간이 지남에 따라 더 많은 탭이 추가되고 나면 나중에 복원 할 수 있도록 정상적인 방법으로 저장해야합니다. 개별보기에서 saveHierarchyState 등을 사용하려고 시도했지만 editTexts 등의 데이터없이 복원되었습니다.Android TabActivity 및 동적 탭 화면 방향 문제

Tabkey에서보기로 매핑하는 작업에 HashMap이 있으므로이 데이터를 저장하면 어떻게됩니까? 그것을 복원? 안드로이드가 뷰 상태를 복원 할 수있는이 방법을 사용하여 -

답변

0

좋아, 내가 설명 here으로 뷰의 ID를 설정하는 데 필요한 생각 첫째 :

을 얻었다. 그러나 내 동적 탭은 모두 동일한 레이아웃의 뷰를 사용하기 때문에 자녀는 모두 동일한 ID를 가지므로 안드로이드가 데이터를 덮어 씁니다 (상태는 뷰 ID에 따라 희소 배열로 저장되므로 ID는 고유해야 함). 조회수는 같습니다.

SparseArray<Parcelable> container = new SparseArray<Parcelable>(); 
saveHierarchyState(container); 
b.putSparseParcelableArray("state", container); 
restoreHierarchyState(b.getSparseParcelableArray("state")); 

이 방법은 내가 아직도 내가 안드로이드를 할 수있는 경우에 뷰에 대한 ID를 설정하지 않음으로써 모든 일을 알아 내야 작동하는 동안 : 나는 수동으로 뷰의 상태를 저장하고 통해 다시 적용하여 해당 고정 layout xml 파일 (허용 된/가능하다면).