2014-09-26 62 views
0

首先,我是中國的一名高年級學生,所以如果我的表情讓你困惑,請原諒我,因爲我的英語不會那麼完美。重新創建活動清除列表視圖項目

我有一個viewPager活動,viewPager包含四個listFragment,它從SQList數據庫加載數據。 listFragment使用的適配器是一個cursorAdapter.EveryThing,直到重新創建活動。我設置後退按鈕以將活動推回到堆棧。如果系統聲稱有更多的資源來運行其他事情,則活動將被破壞。但是,當我回到活動中時,前兩個listFragment中的列表項將被清除!但最後兩個是正常的。我測試了一些代碼,我保證在listFragment的ListView和光標都重新創建初始化後,我呼籲

listAdapter.changeCursor(mCursor); //mCursor is the result from database 
查詢後

數據庫。

在我看來,重新創建與創建唯一的區別是onCreate()中的包。爲什麼第一次創建活動顯示正常的視圖,但重新創建顯示奇怪的結果。

謝謝你的時間。^_^

+0

那麼你想達到什麼!目前尚不清楚! – Pavlos 2014-09-26 02:23:47

+0

當我從回棧中回來時,viewPager中的listFragment項將被清除。如何解決這個問題。這是我的問題。謝謝 – 2014-09-27 01:11:46

+0

然後,也許嘗試保存你的片段當前狀態,並在你回來時檢索它。 – Pavlos 2014-09-27 01:12:39

回答

0

最後,我自己找到解決方案。我發現問題是我在TabAdapter的getItem()中調用setAdapter()。但是,當重新創建活動時,我發現getItem()不會被調用。但是,TabViewPager中的listFragment是正常的,當重新創建活動時,將調用listFragment中的onCreate()和onViewCreated()。

如何解決它:將setAdapter()方法放入listFragment中的onViewCreated()而不是getItem()。

相關問題