2012-01-28 3 views
1

아래 XML 파일을 보면, 내 개체 목록이 비어있을 때 ListView을 표시하고 내 목록이 비어있을 때 ViewStub을 표시하려고합니다. 이 작업을 수행 할 수 있지만 화면 방향을 변경할 때마다 내 목록에 추가 한 새 데이터가 손실됩니다.안드로이드 ListActivity - 빈 목록과 비어 있지 않은 목록 간 전환

기본적으로 새 객체를 추가 할 때마다 객체 목록을 변경하고 어댑터 notifyDataSetChanged()을 호출하는 어댑터의 changeData() 메소드를 호출합니다. 이 변경 사항이 모든보기에서 지속되는지 확인하는 방법에 대한 조언이 있으십니까?

합니다 (XML 더있다 그러나 그것은 무관의) : 당신은 onCreate() 방법에서 사용할 수있는 savedInstanceState Bundle를 사용하여 화면 상태를 유지해야

<ListView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:layout_weight="1" 
     android:id="@android:id/list"></ListView> 

    <ViewStub android:id="@android:id/empty" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:layout_gravity="center" android:layout="@layout/empty" /> 

</FrameLayout> 

답변

2

. 화면 방향을 변경할 때마다 onCreate()이 호출됩니다. 여기

예 : [CLICK]

+0

나는 내 AndroidManifest를 이를 추가하여 일을 가지고 – JDelonge

+0

좋은,하지만 지금 UR 실제 확률값 내 ANS입니다. –

+0

매니페스트에 configChanges를 추가하는 것은 빠르고 지저분한 작업이며 실제로 문제를 해결하지는 못합니다. – SeanPONeil

0

당신이 데이터를 저장하는? 문제는 활동이 파괴 될 때 어디서나 지속되지 않는 것처럼 보입니다. 오리 엔테이션 변경시 활동이 파괴 될 수 있지만, 이는 백그라운드 상태에서 시스템의 메모리가 부족한 경우에도 발생할 수 있습니다.

onPause, onStop 또는 onDestroy 호출에서 데이터를 저장하고 해당 onResume, onStart 또는 onCreate에서 다시로드하는 것이 좋습니다. <: 이름 = "YourActivity"안드로이드 : 활동 안드로이드 configChanges = "오리엔테이션 | keyboardHidden">

관련 문제